hapus tindakan seperti situasi dunia nyata, itu hanya menghapus item, tetapi panjang array tetap sama:
contoh dari terminal simpul:
> var arr = ["a","b","c","d"];
> delete arr[2]
true
> arr
[ 'a', 'b', , 'd', 'e' ]
Berikut adalah fungsi untuk menghapus item array dengan indeks, menggunakan slice () , dibutuhkan arr sebagai argumen pertama, dan indeks anggota yang ingin Anda hapus sebagai argumen kedua. Seperti yang Anda lihat, itu benar-benar menghapus anggota array, dan akan mengurangi panjang array sebesar 1
function(arr,arrIndex){
return arr.slice(0,arrIndex).concat(arr.slice(arrIndex + 1));
}
Apa fungsi yang dilakukan di atas adalah mengambil semua anggota ke indeks, dan semua anggota setelah indeks, dan menggabungkan mereka bersama-sama, dan mengembalikan hasilnya.
Berikut adalah contoh menggunakan fungsi di atas sebagai modul simpul, melihat terminal akan berguna:
> var arr = ["a","b","c","d"]
> arr
[ 'a', 'b', 'c', 'd' ]
> arr.length
4
> var arrayRemoveIndex = require("./lib/array_remove_index");
> var newArray = arrayRemoveIndex(arr,arr.indexOf('c'))
> newArray
[ 'a', 'b', 'd' ] // c ya later
> newArray.length
3
harap dicatat bahwa ini tidak akan bekerja satu array dengan dupes di dalamnya, karena indexOf ("c") hanya akan mendapatkan kejadian pertama, dan hanya memisahkan dan menghapus "c" pertama yang ditemukannya.
.splice
dalam loop, lihat pertanyaan ini: Hapus dari array di javascript .