我仍然很擅长编程,而且我很难希望for / foreach之间有所不同.在一个更技术性的感叹号中,每个循环计算它需要多少次 – 与下面的代码不同.
假设我是这样的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; }
但这只是个人品味.