Heim >Web-Frontend >js-Tutorial >Können Sie Array-Elemente in JavaScript während der Iteration ändern?

Können Sie Array-Elemente in JavaScript während der Iteration ändern?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-09 11:06:02192Durchsuche

Can You Modify Array Elements in JavaScript During Iteration?

Veränderliche Array-Elemente während der Iteration

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.

Ändern des Arrays mit Index und diesem

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.

Alternative Array-Manipulationsfunktionen

Anstelle von forEach sollten Sie die Verwendung anderer Funktionen in Betracht ziehen, die Arrays direkter ändern:

  • Filter: Erstellen Sie ein neues Array mit Elementen, die a erfüllen Bedingung.
  • map: Erstellen Sie ein neues Array, indem Sie jedes Element eines vorhandenen Arrays transformieren.
  • reduce: Kombinieren Sie Elemente zu einem einzigen Wert.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn