我在编程方面还很陌生,我很难希望 for/foreach 之间有所不同。在更技术性的感叹中,for each 循环计算它需要多少次 - 与下面的代码不同。
假设我是这样一个 for 循环的样本:
var i = result = 0;
for (var i = 2; i < process.argv.length; i++) {
result = result + Number(process.argv[i]);
}
console.log(result);
如果是 foreach 语句,这段代码会发生什么变化?解释对吗?或者还有更多吗?
提前致谢。
最佳答案
foreach 循环遍历数组中的所有元素,然后将它们一一提供给您,而无需对带有“i”的迭代变量进行任何处理。例如,您可以这样做:
var result = 0;
process.argv.forEach(function(element){
result = result + element;
});
您的代码与此代码之间存在差异:您的代码跳过了前两个元素,因为“i”从 2 开始。这在 foreach 循环中更难做到,如果需要,您应该坚持使用for 循环。
foreach 循环会为您设置计数器。方便,但不太灵活。它总是从第一个元素开始,到最后一个元素结束。需要注意的一件很酷的事情是我们也不必做任何像“[i]”这样的事情。数组中的元素被拉出并传递给我们的函数。
总而言之,当您需要查看数组中的每个元素时,foreach 循环只是一种简化的 for 循环。
我个人认为 node.js 中的 foreach 循环很丑陋,因为它不是真正的语句,只是附加到数组的函数。我更喜欢它们在像 php 这样的语言中的样子,它们是语言的一部分:
$result = 0;
foreach ($process as $element) {
$result = $result + $element;
}
但这只是个人品味。
关于node.js - for 循环与 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20916555/