Rumah > hujung hadapan web > tutorial js > Bolehkah Anda Mengubah Suai Nilai Tatasusunan Semasa Menggunakan `forEach` dalam JavaScript?

Bolehkah Anda Mengubah Suai Nilai Tatasusunan Semasa Menggunakan `forEach` dalam JavaScript?

DDD
Lepaskan: 2024-11-09 04:58:02
asal
391 orang telah melayarinya

Can You Modify Array Values While Using `forEach` in JavaScript?

Mengubah Suai Nilai Tatasusunan Semasa Lelaran dengan forEach

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"]
Salin selepas log masuk

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.

Penyelesaian: Mengakses 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";
});
Salin selepas log masuk

Dalam contoh ini, theArray ialah penuding tatasusunan. Anda boleh menggunakannya untuk mengakses dan mengubah suai elemen sebenar pada indeks semasa.

Menggunakan ini sebagai Penunjuk Tatasusunan

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`
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan