5 of 17 menu

Fehler beim Ändern eines Array-Elements in JavaScript

Lassen Sie uns einen Fehler betrachten, der auftritt, wenn ein Element eines Arrays falsch geändert wird. Nehmen wir an, wir haben das folgende Array:

let arr = [1, 2, 3, 4, 5];

Nehmen wir außerdem an, wir haben eine Funktion, die eine Zahl als Parameter entgegennimmt und das Quadrat dieser Zahl zurückgibt:

function func(num) { return num ** 2; }

Lassen Sie uns unser Array mit einer for-of Schleife durchlaufen und unsere Funktion auf jedes seiner Elemente anwenden:

for (let elem of arr) { elem = func(elem); }

An dieser Stelle machen Anfänger oft einen Fehler. Die Sache ist die, dass die Änderung der Variable elem nicht zu einer Änderung des Elements im Array selbst führt. Überzeugen wir uns davon:

console.log(arr); // Array hat sich nicht geändert

Das Array ändert sich nicht, weil in der Variable elem eine Kopie des Elements gespeichert ist, und nicht eine Referenz darauf. Die Änderung von elem beeinflusst die Kopie, aber nicht das Array selbst.

Um das Problem zu lösen, müssen genau die Elemente des Arrays geändert werden:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // jetzt hat sich das Array geändert
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen