Rumah > hujung hadapan web > tutorial js > Bagaimanakah saya boleh mengubah suai nilai tatasusunan dalam gelung forEach?

Bagaimanakah saya boleh mengubah suai nilai tatasusunan dalam gelung forEach?

Mary-Kate Olsen
Lepaskan: 2024-11-11 06:50:02
asal
992 orang telah melayarinya

How do I modify array values within a forEach loop?

Mengubah suai Nilai Tatasusunan dengan forEach

Apabila melelaran melalui tatasusunan dengan kaedah forEach, adalah perkara biasa untuk menghadapi situasi di mana anda ingin mengubah suai elemen tatasusunan. Walau bagaimanapun, percubaan untuk menetapkan nilai baharu secara langsung dalam panggilan balik tidak selalu menjejaskan tatasusunan asal.

Gelagat Tidak Dijangka

Pertimbangkan kod berikut:

var arr = ["one", "two", "three"];

arr.forEach(function(part) {
  part = "four";
  return "four";
})

alert(arr); // Output: "one,two,three"
Salin selepas log masuk

Walaupun tugasan dalam panggilan balik, arr tatasusunan asal mengembalikan nilai asalnya. Ini berlaku kerana forEach mencipta salinan cetek elemen tatasusunan untuk fungsi panggil balik.

Memberi Akses Tulis

Untuk mengubah suai elemen tatasusunan daripada lelaran forEach, kita perlu menghantar tatasusunan asal sebagai parameter tambahan. Ini membolehkan kami mengakses secara terus dan mengubah suai tatasusunan itu sendiri dalam panggilan balik:

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

Dengan menggunakan theArray[index], kami boleh menulis ganti elemen tatasusunan asal.

Menggunakan ini sebagai Alternatif

Sebagai alternatif, kita boleh menggunakan argumen kedua forEach untuk menetapkan nilai ini dalam panggilan balik. Dengan menetapkan ini kepada tatasusunan asal, kita boleh menggunakan[indeks] ini untuk mengubah suai elemen secara terus:

arr.forEach(function(part, index) {
  this[index] = "hello world";
}, arr); // Use arr as this
Salin selepas log masuk

Pilihan Kaedah

Kedua-dua pendekatan membenarkan untuk mengubah suai elemen tatasusunan semasa lelaran. Pilihan antara keduanya bergantung pada keutamaan.

Utiliti Tatasusunan Tambahan

Perlu dinyatakan bahawa forEach ialah salah satu daripada beberapa utiliti tatasusunan yang disediakan oleh prototaip Tatasusunan. Utiliti lain yang biasa digunakan termasuk:

  • penapis: Mencipta tatasusunan baharu yang mengandungi elemen yang memenuhi syarat tertentu.
  • peta: Mencipta tatasusunan baharu dengan mengubah setiap elemen tatasusunan sedia ada.
  • beberapa: Semak sama ada sekurang-kurangnya satu elemen dalam tatasusunan memenuhi syarat tertentu.
  • setiap: Semak sama ada semua elemen dalam tatasusunan memenuhi syarat tertentu.
  • cari: Mengembalikan elemen pertama dalam tatasusunan yang memenuhi syarat tertentu.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengubah suai nilai tatasusunan dalam gelung forEach?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan