Dalam JavaScript, kaedah forEach membolehkan anda mengulangi elemen tatasusunan. Walau bagaimanapun, secara lalai, anda tidak boleh mengubah suai nilai tatasusunan dalam fungsi panggil balik lelaran.
Pertimbangkan contoh berikut:
var arr = ["one", "two", "three"]; arr.forEach(function(part) { part = "four"; return "four"; }); alert(arr); // Output: ["one", "two", "three"]
Seperti yang anda lihat, susunan tatasusunan kekal tidak berubah selepas forEach gelung. Ini kerana fungsi forEach panggil balik hanya menerima salinan elemen tatasusunan, bukan rujukan kepada elemen sebenar.
Untuk mengubah suai nilai tatasusunan semasa lelaran, anda perlu mengakses elemen sebenar. Anda boleh melakukan ini dengan menghantar fungsi panggil balik parameter ketiga, yang akan menjadi penuding tatasusunan, seperti yang dilihat di bawah:
arr.forEach(function(part, index, theArray) { theArray[index] = "hello world"; });
Dalam contoh ini, theArray ialah penuding tatasusunan. Anda boleh menggunakannya untuk mengakses dan mengubah suai elemen sebenar pada indeks semasa.
Sebagai alternatif, anda boleh menggunakan argumen kedua kaedah forEach untuk menentukan nilai ini untuk fungsi panggil balik. Nilai ini akan menjadi penuding tatasusunan itu sendiri.
arr.forEach(function(part, index) { this[index] = "hello world"; }, arr); // Array must be passed as `this`
Kedua-dua pendekatan membolehkan anda mengubah suai nilai tatasusunan sambil melelakannya menggunakan kaedah forEach.
Atas ialah kandungan terperinci Bolehkah Anda Mengubah Suai Nilai Tatasusunan Semasa Menggunakan `forEach` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!