5 of 17 menu

Tömbelem módosítási hiba JavaScriptben

Nézzük meg a hibát, amely a tömb elemeinek helytelen módosítása során lép fel. Tegyük fel, hogy a következő tömbünk van:

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

Tegyük fel, hogy van egy függvényünk is, amely paraméterként egy számot vesz fel és visszaadja a szám négyzetét:

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

Használjunk for-of ciklust a tömbünk bejárására, és alkalmazzuk a függvényt minden elemére:

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

Ezen a ponton szoktak a kezdők hibázni. A helyzet az, hogy a elem változó módosítása nem vezet a tömb megfelelő elemének módosulásához. Győződjünk meg erről:

console.log(arr); // a tömb nem változott

A tömb azért nem módosul, mert a elem változó az elem másolatát tartalmazza, nem pedig egy hivatkozást rá. A elem módosítása a másolatot érinti, de magát a tömböt nem.

A probléma megoldásához magukat a tömb elemeit kell módosítani:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // most már a tömb megváltozott
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás