Denkst du, dass es einen großen Unterschied zwischen for...in und for-Schleifen gibt? Welche Art von "for" ziehst du vor und warum?
Angenommen, wir haben ein Array von assoziativen Arrays:
var myArray = [{'key': 'value'}, {'key': 'value1'}];
Also können wir durchlaufen:
for (var i = 0; i < myArray.length; i++)
Und:
for (var i in myArray)
Ich sehe keinen großen Unterschied. Gibt es Leistungsprobleme?
13 Stimmen
Beachten Sie, dass wir auch ab JS 1.6 haben:
myArray.forEach(callback[, thisarg])
.14 Stimmen
@ Benji array.forEach ist tatsächlich in ES5.
2 Stimmen
In einer for-in Schleife benötigen Sie eine bedingung, die so aussieht:
if(myArray.hasOwnProperty(i)){true}
6 Stimmen
['foo', 'bar', 'baz'].forEach(function(element, index, array){ console.log(element, index, array); });
ist überall ziemlich gut zu verwenden, außer in IE8- und es ist bei weitem die eleganteste Syntax5 Stimmen
Es gibt auch die
for...of
-Anweisung in ECMAScript 6, zum Beispiel:for (let i of myArray) console.log(i);