哪里y
是一个对象数组,
y = [
{property:"",property2:""},
{property:"",property2:""},
{property:"",property2:""},
{property:"",property2:""},
{property:"",property2:""}
]
有人可以告诉我为什么吗
for (x in y) {
console.log(x[y].property);
}
比慢很多倍,
for (i = 0; i < y.length; i++) {
console.log(x[y].property);
}
最佳答案
如下benchmark ;你会看到,在 chrome 版本 62.0.3202
中,for...in...
速度更快。
一种或另一种循环样式的速度取决于运行它的 javascript 引擎
。
因此,如果您想知道哪个更快以及为什么您应该开始查看您正在使用的 node.js
版本;然后寻找有关特定引擎是如何制造的解释。
在 this关于 node.js
从 v5.x
到 v6.x
的其他基准测试。
你会看到速度改变了多少
因此,如果在 v5.1.281.102
中使用 for-in
进行了更优化,那么在 v6.1.361
中则更好使用与 for
循环关联的 Object.keys
。
关于javascript - for (x in y) VS for (i = 0; i < y.length; i++) 其中 x 是对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50991831/