Rumah >hujung hadapan web >tutorial js >Bolehkah Anda Mengubah Suai Elemen Tatasusunan dalam JavaScript Semasa Lelaran?

Bolehkah Anda Mengubah Suai Elemen Tatasusunan dalam JavaScript Semasa Lelaran?

Patricia Arquette
Patricia Arquetteasal
2024-11-09 11:06:02184semak imbas

Can You Modify Array Elements in JavaScript During Iteration?

Elemen Tatasusunan Boleh Berubah Semasa Lelaran

Dalam JavaScript, tatasusunan tidak boleh diubah, bermakna elemennya tidak boleh diubah suai secara langsung dalam lelaran gelung.

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

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

alert(arr);

Walau bagaimanapun, kod ini masih akan mengeluarkan ["satu", "dua", "tiga"] kerana sebahagiannya ialah pembolehubah tempatan dalam fungsi panggil balik yang tidak mengubah suai secara langsung tatasusunan.

Mengubah Suai Tatasusunan dengan Indeks dan ini

Untuk mengubah suai elemen tatasusunan semasa lelaran, aksesnya menggunakan indeks elemen atau objek ini:

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

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

Dalam contoh kedua, arr ditentukan sebagai nilai ini bagi fungsi panggil balik. Oleh itu, [indeks] ini merujuk kepada elemen tatasusunan.

Fungsi Manipulasi Tatasusunan Alternatif

Daripada forEach, pertimbangkan untuk menggunakan fungsi lain yang mengubah suai tatasusunan dengan cara yang lebih langsung:

  • penapis: Cipta tatasusunan baharu dengan elemen yang memenuhi keadaan.
  • peta: Cipta tatasusunan baharu dengan mengubah setiap elemen tatasusunan sedia ada.
  • kurangkan: Menggabungkan elemen menjadi satu nilai.

Fungsi ini menyediakan mekanisme yang cekap untuk memanipulasi tatasusunan tanpa memerlukan pengubahsuaian unsur langsung semasa lelaran.

Atas ialah kandungan terperinci Bolehkah Anda Mengubah Suai Elemen Tatasusunan dalam JavaScript Semasa Lelaran?. 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