Heim >Web-Frontend >js-Tutorial >Können Sie Array-Werte ändern, während Sie „forEach' in JavaScript verwenden?
In JavaScript können Sie mit der forEach-Methode über die Elemente eines Arrays iterieren. Standardmäßig können Sie die Werte des Arrays jedoch nicht innerhalb der Iterations-Callback-Funktion ändern.
Betrachten Sie das folgende Beispiel:
var arr = ["one", "two", "three"]; arr.forEach(function(part) { part = "four"; return "four"; }); alert(arr); // Output: ["one", "two", "three"]
Wie Sie sehen können, bleibt das Array arr nach forEach unverändert Schleife. Dies liegt daran, dass die Rückruffunktion forEach nur eine Kopie des Array-Elements empfängt, keinen Verweis auf das tatsächliche Element.
Um die Werte des Arrays während der Iteration zu ändern, Sie müssen auf die tatsächlichen Elemente zugreifen. Sie können dies tun, indem Sie der Rückruffunktion einen dritten Parameter übergeben, der ein Array-Zeiger sein wird, wie unten gezeigt:
arr.forEach(function(part, index, theArray) { theArray[index] = "hello world"; });
In diesem Beispiel ist theArray der Array-Zeiger. Sie können damit auf das tatsächliche Element am aktuellen Index zugreifen und es ändern.
Alternativ können Sie das zweite Argument der forEach-Methode verwenden, um diesen Wert anzugeben für die Callback-Funktion. Dieser Wert ist der Array-Zeiger selbst.
arr.forEach(function(part, index) { this[index] = "hello world"; }, arr); // Array must be passed as `this`
Beide Ansätze ermöglichen es Ihnen, die Werte des Arrays zu ändern, während Sie mit der forEach-Methode darüber iterieren.
Das obige ist der detaillierte Inhalt vonKönnen Sie Array-Werte ändern, während Sie „forEach' in JavaScript verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!