5 of 17 menu

Ralat Mengubah Elemen Array dalam JavaScript

Mari kita lihat ralat yang timbul akibat perubahan elemen array yang tidak betul. Katakan kita mempunyai array seperti berikut:

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

Katakan juga kita mempunyai fungsi, yang menerima nombor sebagai parameter dan mengembalikan kuasa dua nombor tersebut:

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

Mari gunakan gelung for-of untus mengulangi array kita dan gunakan fungsi kita pada setiap elemennya:

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

Di sinilah pemula sering melakukan ralat. Masalahnya ialah, menukar pembolehubah elem tidak menyebabkan perubahan elemen dalam array itu sendiri. Mari kita pastikan:

console.log(arr); // array tidak berubah

Array tidak berubah kerana pembolehubah elem menyimpan salinan elemen, bukan rujukan kepadanya. Menukar elem mempengaruhi salinan, tetapi bukan array itu sendiri.

Untuk menyelesaikan masalah ini, kita perlu menukar tepat elemen array:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // kini array telah berubah
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak