5 of 17 menu

JavaScript-ში მასივის ელემენტის შეცვლის შეცდომა

განვიხილოთ შეცდომა, რომელიც წარმოიქმნება მასივის ელემენტის არასწორად შეცვლისას. დავუშვათ, გვაქვს ასეთი მასივი:

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

დავუშვათ, გვაქვს ფუნქცია, რომელიც პარამეტრად იღებს რიცხვს და აბრუნებს ამ რიცხვის კვადრატს:

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

for-of ციკლის გამოყენებით გადავუყვეთ ჩვენს მასივს და თითოეულ ელემენტზე გამოვიყენოთ ჩვენი ფუნქცია:

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

ამ მომენტში დამწყები ხშირად უშვებენ შეცდომას. საქმე იმაშია, რომ ცვლადის elem შეცვლა არ იწვევს ელემენტის შეცვლას თავად მასივში. დავრწმუნდეთ ამაში:

console.log(arr); // მასივი არ შეცვლილა

მასივი არ იცვლება იმის გამო, რომ ცვლად elem-ში ინახება ელემენტის ასლი და არა მისი მითითება. elem-ის შეცვლა მოქმედებს ასლზე, მაგრამ არა თავად მასივზე.

პრობლემის მოსაგვარებლად საჭიროა შევცვალოთ ზუსტად მასივის ელემენტები:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // ახლა მასივი შეცვლილა
ქართული
AfrikaansAzə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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა