var arr = [1,2,3,5,6];
Hapus elemen pertama
Saya ingin menghapus elemen pertama dari array sehingga menjadi:
var arr = [2,3,5,6];
Hapus elemen kedua
Untuk memperluas pertanyaan ini, bagaimana jika saya ingin menghapus elemen kedua array sehingga menjadi:
var arr = [1,3,5,6];
javascript
arrays
pengguna198729
sumber
sumber
slice(start, end)
bukan 'how_many_to_remove'splice
bukan ituslice
kurasa.Jawaban:
Untuk solusi yang lebih fleksibel, gunakan
splice()
fungsinya. Ini memungkinkan Anda untuk menghapus item apa pun dalam Array berdasarkan Nilai Indeks:sumber
arr.splice(1,1)
untuk elemen kedua.splice()
lebihshift()
karena yang lebih fleksibel. Saya mungkin ingin melakukan sesuatu yang berbeda di masa depan, dan tidak selalu saya ingin menghapus hanya satu elemen, atau bahkan elemen pertama.shift()
sangat ideal untuk situasi Anda.shift()
menghapus elemen pertama dari array dan mengembalikan elemen itu. Metode ini mengubah panjang array.sumber
shift()
untuksplice(..., ...)
karena jauh lebih eksplisit, langsung.shift
lebih cepat kecuali Anda menyambungkan daftar besar jsperf.com/splice-vs-shift3 dan jsperf.com/splice-vs-shift2The
Array.prototype.shift
Metode menghilangkan elemen pertama dari array, dan mengembalikan itu. Ini memodifikasi array asli.sumber
tidak merusak, sambungan dan perubahan akan mengubah susunan asli Anda
sumber
Menulis artikel kecil tentang menyisipkan dan menghapus elemen pada posisi sewenang-wenang di Javascript Array.
Berikut cuplikan kecil untuk menghapus elemen dari posisi apa pun. Ini memperluas kelas Array dalam Javascript dan menambahkan metode hapus (indeks).
Jadi untuk menghapus item pertama dalam contoh Anda, panggil arr.remove ():
Untuk menghapus item kedua,
Inilah artikel kecil dengan metode menyisipkan dan menghapus untuk kelas Array.
Pada dasarnya ini tidak berbeda dari jawaban lain yang menggunakan splice, tetapi namanya
splice
tidak intuitif, dan jika Anda memiliki panggilan itu di seluruh aplikasi Anda, itu hanya membuat kode lebih sulit untuk dibaca.sumber
Mungkin kira-kira seperti ini:
sumber
Lainnya jawaban yang besar, saya hanya ingin menambahkan solusi alternatif dengan
ES6
fungsi Array:filter
.filter()
membuat array baru dengan elemen yang termasuk dalam kriteria yang diberikan dari array yang ada.Jadi Anda dapat dengan mudah menggunakannya untuk menghapus item yang tidak lulus kriteria. Manfaat dari fungsi ini adalah Anda dapat menggunakannya pada array kompleks bukan hanya string dan angka.
Hapus elemen pertama :
Hapus elemen kedua :
Hapus elemen aneh :
Hapus item yang tidak ada stok
sumber
Anda dapat menggunakan fitur Penugasan Destrukturisasi ES6 dengan operator lainnya. Koma menunjukkan di mana Anda ingin menghapus elemen dan operator (arr) lainnya untuk memberi Anda elemen array yang tersisa.
sumber
Array.splice()
memiliki properti menarik yang tidak dapat digunakan untuk menghapus elemen pertama. Jadi, kita perlu resorsumber
Solusi naskah yang tidak bermutasi array asli
sumber
Ada beberapa cara untuk menghapus elemen dari Array. Izinkan saya menunjukkan opsi yang paling sering digunakan di bawah ini. Saya menulis jawaban ini karena saya tidak dapat menemukan alasan yang tepat mengenai apa yang harus digunakan dari semua opsi ini. Jawaban atas pertanyaan ini adalah opsi 3 ( Splice () ).
1) SHIFT () - Hapus Elemen Pertama dari Array Asli dan Kembalikan Elemen Pertama
Lihat referensi untuk Array.prototype.shift () . Gunakan ini hanya jika Anda ingin menghapus elemen pertama, dan hanya jika Anda baik-baik saja dengan mengubah array asli.
2) SLICE () - Mengembalikan Salinan Array, Dipisahkan oleh Indeks Awal dan Indeks Akhir
Lihat referensi untuk Array.prototype.slice () . Anda tidak dapat menghapus elemen tertentu dari opsi ini. Anda bisa hanya mengiris array yang ada dan mendapatkan porsi array yang berkesinambungan. Ini seperti memotong array dari indeks yang Anda tentukan. Array asli tidak terpengaruh.
3) SPLICE () - Mengubah Isi Array dengan Menghapus atau Mengganti Elemen pada Indeks Tertentu.
Lihat referensi untuk Array.prototype.splice () . Metode splice () mengubah konten array dengan menghapus atau mengganti elemen yang ada dan / atau menambahkan elemen baru di tempatnya. Mengembalikan array yang diperbarui. Array asli diperbarui.
sumber
Anda juga dapat melakukan ini dengan mengurangi:
sumber