我应该对 JavaScript 数组和对象使用哪个 for 循环?

Jar*_*red 5 javascript arrays loops for-loop object

for (i=0; i<array.length; i++)我总是在循环数组时使用。

for (var i in object)我总是在循环对象属性时使用。

我不能用于for (i=0; ... )对象属性,但可以用于for (var in ...)数组,因为数组也是对象。

我问的问题是:我应该for (i=0; ... )完全转储并用于for (var in ...)数组对象吗?性能有影响吗?我为什么要使用其中一种而不是另一种?

elc*_*nrs 2

我应该抛弃吗for

你不应该。for..in当用于循环数组时,它不关心索引,它也会列出附加到对象的属性。坚持for数组和for..in对象。

MDN的摘录:

for..in不应该用于迭代索引顺序很重要的数组...不保证将以for..in任何特定顺序返回索引,并且它将返回所有可枚举属性...

至于性能,我不会担心它,因为for..in显然不建议循环索引数组。