Bagaimanakah Saya Boleh Memindahkan Elemen Dengan Cekap dalam Tatasusunan JavaScript?

Mary-Kate Olsen
Lepaskan: 2024-11-25 22:07:11
asal
169 orang telah melayarinya

How Can I Efficiently Move an Element Within a JavaScript Array?

Menggerakkan Elemen Dalam Tatasusunan

Dalam pengaturcaraan, selalunya perlu untuk memanipulasi tatasusunan dengan menukar kedudukan elemennya. Satu operasi biasa ialah memindahkan elemen dari satu kedudukan tatasusunan ke kedudukan yang lain.

Cabaran

Pertimbangkan tatasusunan berikut:

var array = [ 'a', 'b', 'c', 'd', 'e'];
Salin selepas log masuk

Tugas adalah untuk menulis fungsi yang membolehkan anda memindahkan mana-mana elemen tatasusunan ke indeks yang ditentukan. Sebagai contoh, anda mungkin mahu mengalihkan 'd' ke kiri 'b' atau 'a' ke kanan 'c'.

Penyelesaian

Di bawah ialah fungsi JavaScript yang menangani perkara ini cabaran:

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]);
}
Salin selepas log masuk

Penggunaan

Untuk mengalihkan elemen, cuma panggil fungsi array_move dengan argumen berikut:

  • arr: Tatasusunan yang anda mahu ubah suai.
  • old_index: Indeks semasa elemen yang anda mahu bergerak.
  • new_index: Indeks yang dikehendaki untuk elemen selepas ia dialihkan.

Sebagai contoh, untuk mengalihkan 'd' ke kiri 'b', anda akan memanggil :

array_move(array, 3, 1);
Salin selepas log masuk

Ini akan menghasilkan tatasusunan berikut:

['a', 'd', 'b', 'c', 'e']
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memindahkan Elemen Dengan Cekap dalam Tatasusunan 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan