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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј