迭代整个数组的标准JavaScript实践?

时间:2015-10-18 16:40:51

标签: javascript loops for-loop

假设我想遍历整个数组来访问每个元素。 JavaScript开发人员使用for循环,for ... in循环或for循环是否是标准做法?

例如:

var myArray = ["apples", "oranges", "pears"];

For loop

for (var index = 0; index < myArray.length; index++)
    console.log(myArray[index]);

For ... in loop

for (var index in myArray)
    console.log(myArray[index]);

对于循环

for (var element of myArray)
    console.log(element);

2 个答案:

答案 0 :(得分:1)

作为Array.prototype函数的一部分,

forEach应该是要走的路。

  

For loop

for (var index = 0; index < myArray.length; index++)
    console.log(myArray[index])

如果我必须选择上述之一,那么长度超过香草的for-loop是最优选的。

  

For ... in loop

for (var index in myArray)
    console.log(myArray[index]);

你应该不惜一切代价避免这种将Object和Array的惯用语混合在一起是不好的做法。您可能会遇到不需要的元素的错误迭代

答案 1 :(得分:1)

  

For loop

for (var index = 0; index < myArray.length; index++)
console.log(myArray[index]);

这是数组和crossbrowser的最佳选择! 它可以在你想要的时候打破循环,但不能用Array.forEach

  

for in

使用数组避免这种方法!