5 of 17 menu

Feil ved endring av array-element i JavaScript

La oss se på en feil som oppstår ved feil endring av et array-element. La oss si vi har følgende array:

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

La oss også si at vi har en funksjon som tar imot et tall som parameter og returnerer kvadratet av dette tallet:

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

La oss bruke en for-of-løkke til å iterere gjennom arrayet vårt og anvende funksjonen vår på hvert av dets elementer:

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

Det er på dette punktet nybegynnere ofte gjør en feil. Saken er at endring av variabelen elem ikke fører til endring av elementet i selve arrayet. La oss bekrefte dette:

console.log(arr); // arrayet er ikke endret

Arrayet endres ikke fordi variabelen elem inneholder en kopi av elementet, ikke en referanse til det. Endring av elem påvirker kopien, men ikke selve arrayet.

For å løse problemet må man endre nettopp elementene i arrayet:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // nå er arrayet endret
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis