In JavaScript sind Arrays unveränderlich, was bedeutet, dass ihre Elemente nicht direkt innerhalb von Schleifeniterationen geändert werden können.
var arr = ["one", "two", "three"]; arr.forEach(function(part) { part = "four"; return "four"; }) alert(arr);
Dieser Code gibt jedoch weiterhin [„eins“, „zwei“, „drei“] aus, da „part“ eine lokale Variable innerhalb der Rückruffunktion ist, die die nicht direkt ändert Array.
Um die Array-Elemente während der Iteration zu ändern, greifen Sie über den Index des Elements oder das dieses Objekt darauf zu:
// Using index arr.forEach(function(part, index, theArray) { theArray[index] = "hello world"; }); // Using 'this' arr.forEach(function(part, index) { this[index] = "hello world"; }, arr);
Im Im zweiten Beispiel wird arr als dieser Wert der Callback-Funktion angegeben. Somit bezieht sich dieser[Index] auf das Array-Element.
Anstelle von forEach sollten Sie die Verwendung anderer Funktionen in Betracht ziehen, die Arrays direkter ändern:
Diese Funktionen bieten effiziente Mechanismen zum Bearbeiten von Arrays, ohne dass dabei eine direkte Elementänderung erforderlich ist Iteration.
Das obige ist der detaillierte Inhalt vonKönnen Sie Array-Elemente in JavaScript während der Iteration ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!