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ščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј