Vermeiden Sie „for...in“ für Array-Iteration in JavaScript
Die „for...in“-Schleife von JavaScript birgt eine potenzielle Gefahr beim Durchlaufen von Arrays. Obwohl dies ein geeigneter Ansatz zu sein scheint, kann er zu unerwarteten Ergebnissen führen.
Warum es eine schlechte Idee ist
"for...in"-Schleifen iterieren über Eigenschaften , einschließlich derjenigen, die nicht direkt im Array definiert sind. Dazu gehören Eigenschaften, die vom Prototyp des Arrays geerbt oder dynamisch hinzugefügt wurden.
Betrachten Sie beispielsweise den folgenden Code:
var a = []; // Empty array a[5] = 5; // Resize the array
Obwohl ein leeres Array erstellt wird, ändert die Zuweisung eines Werts zu seinem fünften Index effektiv die Größe das Array.
Beim Iterieren mit „for...in“:
for (var i in a) { console.log(a[i]); }
Die Schleife wird Iterieren Sie über die folgenden Eigenschaften:
Es wird jedoch möglicherweise auch über geerbte Eigenschaften oder andere zum Array-Objekt hinzugefügte Eigenschaften iteriert, die für das Array möglicherweise nicht relevant sind Daten.
Verwenden Sie stattdessen eine numerische Schleife
Um gezielt über Arrays zu iterieren, verwenden Sie eine numerische Schleife:
for (var i = 0; i < a.length; i++) { console.log(a[i]); }
Diese Schleife iteriert explizit über die numerischen Indizes des Arrays, um sicherzustellen, dass nur auf die erwarteten Werte zugegriffen wird.
Das obige ist der detaillierte Inhalt vonWarum sollte ich die Verwendung von „for...in'-Schleifen für die Array-Iteration in JavaScript vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!