Javascript for…of循环与这个常规循环相同吗?
Javascript for…of循环与这个常规循环相同吗?,javascript,Javascript,a=[1,2] (a){}的类似于循环的: for(让index=0;index
a=[1,2]代码>
(a){}
的类似于
循环的:
for(让index=0;index
我注意到您也可以在中使用continue
和break
,用于…of
我想我更喜欢使用常规的for
循环-感觉我有更多的控制权。是的,假设a
是一个标准数组,它的功能是相同的
我想我更喜欢使用常规的for
循环-感觉我有更多的控制权
在编写第100个for
循环后,您将不再有这种感觉,因为您意识到,在这些情况中,只有1%的情况下需要额外的控制,99%的情况下需要不必要的冗长,10%的情况下需要奇怪的bug
Array#forEach
是另一个不错的选择。通常,您真正想要的是Array#map
(如果您想以某种方式变换数组的每个项)。for
是for objects have[]操作符for..of
用于可编辑对象。有些对象可以是可编辑的,并且具有类似[]运算符的数组
let myIterable={};
myIterable[Symbol.iterator]=函数*(){
产量1;
产量2;
产量3;
};
对于(myIterable的x){
console.log(x)
}
所以。。。不完全一样,不,不一样。它使用不同的机制进行迭代,调用a[Symbol.Iterator]
,这是一种非常不同的机制。例如,迭代器不是通过索引访问的,因此不必具有已知的大小,甚至不必是有限的。