Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengubah Suai Elemen Tatasusunan Dalam Gelung `forEach` JavaScript?

Bagaimana untuk Mengubah Suai Elemen Tatasusunan Dalam Gelung `forEach` JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-08 18:06:02765semak imbas

How to Modify Array Elements Inside a JavaScript `forEach` Loop?

Mengubah Suai Elemen Tatasusunan Semasa Gelung forEach

Dalam JavaScript, apabila melelaran pada tatasusunan menggunakan kaedah forEach, ia boleh mengecewakan untuk menyedari bahawa perubahan yang dibuat kepada elemen individu dalam gelung tidak ditunjukkan dalam tatasusunan asal. Ini kerana forEach menghantar salinan elemen kepada fungsi panggil balik, bukan rujukan kepada elemen sebenar.

Untuk mendayakan akses tulis kepada elemen tatasusunan daripada fungsi lelaran, terdapat dua pilihan:

Pilihan 1: Sediakan Array sebagai Argumen Ketiga

Kaedah forEach mengambil argumen ketiga pilihan, yang mewakili tatasusunan itu sendiri. Dengan memberikan nilai baharu kepada indeks tatasusunan yang sepadan dalam panggilan balik, tatasusunan asal akan diubah suai.

arr.forEach(function(part, index, theArray) {
  theArray[index] = "hello world";
});

Pilihan 2: Gunakan Fungsi Anak Panah dengan Terikat Ini

Cara lain untuk mencapai tingkah laku yang diingini adalah dengan menggunakan fungsi anak panah sebagai panggilan balik dan menyediakan tatasusunan sebagai ini konteks:

arr.forEach(function(part, index) {
  this[index] = "hello world";
}, arr); // use arr as this

Dengan menyediakan tatasusunan seperti ini dalam panggilan balik, pengubahsuaian yang dibuat pada elemen akan digunakan terus pada tatasusunan asal.

Pertimbangan Tambahan:

  • Teknik di atas tidak berfungsi jika menggunakan fungsi biasa (pengisytiharan fungsi atau ungkapan) sebagai panggil balik.
  • Jika anda berhasrat untuk mengubah suai panjang tatasusunan semasa gelung, anda harus menggunakan gelung tradisional untuk bukannya forEach untuk mengelakkan akibat yang tidak diingini.
  • Kebiasaan dengan kaedah lelaran tatasusunan yang lain (tapis , peta, dll.) bermanfaat dalam memilih alat yang paling sesuai untuk setiap tugas.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Suai Elemen Tatasusunan Dalam Gelung `forEach` JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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