5 of 17 menu

JavaScript'te Dizi Elemanı Değiştirme Hatası

Bir dizi elemanını yanlış değiştirirken ortaya çıkan hatayı inceleyelim. Şu şekilde bir dizimiz olduğunu varsayalım:

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

Ayrıca, parametre olarak bir sayı alan ve bu sayının karesini döndüren bir fonksiyonumuz olsun:

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

Şimdi for-of döngüsü kullanarak dizimizi gezelim ve her bir elemana fonksiyonumuzu uygulayalım:

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

Yeni başlayanlar sıklıkla bu noktada hata yapar. Sorun şu ki, elem değişkenini değiştirmek, dizideki elemanın kendisini değiştirmez. Bunu doğrulayalım:

console.log(arr); // dizi değişmedi

Dizinin değişmemesinin nedeni, elem değişkeninin elemanın bir kopyasını tutması, ona bir referans olmamasıdır. elem'i değiştirmek kopyayı etkiler, ancak dizinin kendisini etkilemez.

Sorunu çözmek için dizinin elemanlarını doğrudan değiştirmek gerekir:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // şimdi dizi değişti
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet