5 of 17 menu

Fout by die verandering van 'n array-element in JavaScript

Kom ons kyk na 'n fout wat voorkom wanneer 'n element van 'n array verkeerdelik verander word. Gestel ons het die volgende array:

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

Gestel ons het ook 'n funksie wat 'n getal as parameter aanvaar en die kwadraat van daardie getal teruggee:

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

Kom ons gebruik 'n for-of lus om deur ons array te itereer en ons funksie op elk van sy elemente toe te pas:

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

Hier is waar beginners dikwels 'n fout maak. Die probleem is dat die verandering van die veranderlike elem nie lei tot 'n verandering van die element in die array self nie. Kom ons verifieer dit:

console.log(arr); // array het nie verander nie

Die array verander nie omdat die veranderlike elem 'n kopie van die element bevat, en nie 'n verwysing daarna nie. Om elem te verander, beïnvloed die kopie, maar nie die array self nie.

Om die probleem op te los, moet ons presies die elemente van die array verander:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // nou het die array verander
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp