javascript - 最佳实践 : Javascript for loop

标签 javascript loops for-loop

编写 JavaScript for 循环的最佳实践是什么?

我一开始是这样写的:

for(var i = 0; i < array.length; i++){
    //do stuff
}

但是后来发现每次pass计算长度都不太理想,所以应该更像:

var len = array.length;
for(var i = 0; i < len; i++){
    //do stuff
}

但是如果你减少而不是增加循环会更快:

var lenArr = array.length - 1;
for(var len = lenArr; len > 0; len--){
    //do stuff
}

但是,如果您只想中断一组嵌套循环中的一个循环,则这种循环实际上不起作用,因此您应该养成使用标签的习惯:

var lenArr = array.length - 1;
var lenArr2 = array2.length - 1;

loop1: for(var len = lenArr; len > 0; len--){
    loop2: for(var len2 = lenArr2; len2 > 0; len2--){
        //do stuff
        break loop2;
    }
}

是否还有其他需要更改的内容,或者这是在 JavaScript 中编写 for 循环的最佳实践?

最佳答案

如果你有数组而不是使用forEach

array.forEach(ele=> {

});

这样您就可以保持代码简洁易懂,并且不必编写与长度相关的代码。

Break 不适用于 forEach 但你可以编写 return 来像

array.forEach(ele=> {
   ele.array.forEach(ele=> {
     //do stuff 
     return;
   });
});

注意:

  1. for 循环更快。
  2. forEach 速度较慢,但​​更适合函数式编程范例。

答案基于问题的标题:为什么给出建议使用 forEach 的最佳实践。

关于javascript - 最佳实践 : Javascript for loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49809601/

相关文章:

javascript - 获取对象的字符串表示的不同方法

java - 为什么我的 for 循环会同时添加一个对象?

c++ - 到达for循环时出现奇怪的段错误

javascript - 状态是否在 shouldComponentUpdate 之后和渲染之前更新

javascript - tippy.js 工具提示不响应 CSS 样式

c++ - 如何在 C++ 中重新启动循环(在随机运行中查找唯一序列)

python - 如何在 pygtk 中运行无限 while 循环?

java - 返回第一个循环

javascript - for 循环中嵌套 if 条件的 setTimeout

javascript - 是否可以在 url 路径的参数值中发送特殊字符?