5 of 17 menu

JavaScript-də massiv elementinin dəyişdirilməsi xətası

Gəlin, massiv elementinin səhv dəyişdirilməsi zamanı yaranan xətanı nəzərdən keçirək. Tutaq ki, bizə belə bir massiv verilib:

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

Tutaq ki, bizim həmçinin parametr kimi ədəd qəbul edən və həmin ədədin kvadratını qaytaran funksiyamız var:

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

Gəlin for-of döngüsü ilə massivimizi gəzək və onun hər bir elementinə funksiyamızı tətbiq edək:

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

Yeni başlayanlar tez-tez xətanı məhz burada edirlər. Məsələ ondadır ki, elem dəyişəninin dəyişdirilməsi massivin özündəki elementin dəyişməsinə gətirib çıxarmır. Gəlin buna əmin olaq:

console.log(arr); // massiv dəyişmədi

Massiv dəyişmir, çünki elem dəyişənində elementin surəti saxlanılır, ona istinad yoxdur. elem-in dəyişdirilməsi surətə təsir edir, amma massivin özünə yox.

Problemi həll etmək üçün məhz massivin elementlərini dəyişdirmək lazımdır:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // indi massiv dəyişdi
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et