5 of 17 menu

Fejl ved ændring af array-element i JavaScript

Lad os se på fejlen, der opstår ved forkert ændring af et array-element. Antag, at vi har følgende array:

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

Antag også, at vi har en funktion, som tager et tal som parameter og returnerer kvadratet af dette tal:

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

Lad os ved hjælp af en for-of-løkke gennemløbe vores array og anvende vores funktion på hvert af dets elementer:

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

Det er her, begyndere ofte laver en fejl. Kernen er, at ændring af variablen elem ikke fører til ændring af elementet i selve arrayet. Lad os overbevise os om dette:

console.log(arr); // arrayet ændrede sig ikke

Arrayet ændres ikke, fordi variablen elem indeholder en kopi af elementet, og ikke en reference til det. Ændring af elem påvirker kopien, men ikke selve arrayet.

For at løse problemet skal man ændre netop arrayets elementer:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // nu er arrayet ændret
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis