Elemen Tatasusunan Bergerak: Panduan Komprehensif
Menggerakkan elemen dalam tatasusunan boleh kelihatan seperti tugas yang mudah, tetapi ia memerlukan pendekatan yang sistematik untuk memastikan bahawa indeks tatasusunan dikemas kini dengan betul. Artikel ini meneroka teknik untuk memindahkan elemen tatasusunan, memberikan penjelasan yang jelas dan penyelesaian praktikal.
Menggerakkan Elemen ke Kedudukan Tertentu
Sebagai contoh, pertimbangkan perkara berikut tatasusunan:
var array = ['a', 'b', 'c', 'd', 'e'];
Untuk mengalihkan elemen 'd' ke kiri 'b', kita perlu mengalihkan elemen antara 'b' dan 'd' ke kanan dengan satu kedudukan. Tatasusunan yang terhasil ialah:
array = ['a', 'd', 'b', 'c', 'e']
Begitu juga, untuk memindahkan 'a' ke kanan 'c', kita perlu mengalihkan elemen antara 'a' dan 'c' ke kiri dengan satu kedudukan .
Penyelesaian: Fungsi Cekap untuk Pergerakan Elemen
Untuk memindahkan elemen dengan cekap dalam tatasusunan, kita boleh mentakrifkan fungsi yang mengambil sebagai input tatasusunan, indeks elemen yang akan dialihkan (old_index) dan indeks baharu (new_index).
function array_move(arr, old_index, new_index) { if (new_index >= arr.length) { var k = new_index - arr.length + 1; while (k--) { arr.push(undefined); } } arr.splice(new_index, 0, arr.splice(old_index, 1)[0]); return arr; };
Contoh Penggunaan
Untuk mengalihkan elemen 'd' ke kiri 'b' dalam tatasusunan contoh kami, kami boleh memanggil fungsi array_move sebagai berikut:
console.log(array_move(array, 3, 1)); // Output: ['a', 'd', 'b', 'c', 'e']
Begitu juga, untuk mengalihkan 'a' ke kanan 'c', kami akan memanggil:
console.log(array_move(array, 0, 2)); // Output: ['a', 'c', 'd', 'b', 'e']
Fungsi ini menawarkan penyelesaian yang mantap dan fleksibel untuk tatasusunan bergerak elemen, memastikan bahawa indeks dikemas kini dengan betul.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memindahkan Elemen Tatasusunan dengan Cekap ke Kedudukan Baharu dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!