5 of 17 menu

JavaScriptda massiv elementini o'zgartirishda xatolik

Keling, massiv elementini noto'g'ri o'zgartirish natijasida yuzaga keladigan xatoni ko'rib chiqaylik. Faraz qilaylik, bizda quyidagi massiv mavjud:

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

Faraz qilaylik, bizda shuningdek, parametr sifatida son qabul qiladigan va shu sonning kvadratini qaytaradigan funksiya mavjud:

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

Keling, for-of sikli yordamida massivimizni aylantiramiz va uning har bir elementiga funksiyamizni qo'llaymiz:

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

Boshlanuvchilar ko'pincha shu yerda xato qilishadi. Gap shundaki, elem o'zgaruvchisini o'zgartirish massivning o'zidagi elementni o'zgartirishga olib kelmaydi. Bunga ishonch hosil qilaylik:

console.log(arr); // massiv o'zgarmadi

Massiv o'zgarmasligining sababi shundaki, elem o'zgaruvchisida elementning nusxasi saqlanadi, unga havola emas. elem ni o'zgartirish nusxaga ta'sir qiladi, lekin massivning o'ziga emas.

Muammoni hal qilish uchun aniq massiv elementlarini o'zgartirish kerak:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // endi massiv o'zgardi
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish