var arr = ['a', 'b', 'c'];
Untuk menghapus 'B', ada dua cara:
1. Metode: Hapus ARR [1]
Dengan cara ini, panjang array tetap tidak berubah. menggunakan
untuk (index in arr) {document.write ('arr ['+index+'] ='+arr [index]);}Metode traversal ini melewatkan elemen yang tidak ditentukan di dalamnya
* Metode ini akan didukung di IE4.O.
2. Array Object Splice Metode: arr.splice (1,1);
Dengan cara ini, panjang array diubah sesuai, tetapi indeks array asli juga berubah sesuai
1 pertama dalam parameter splice adalah indeks awal dari penghapusan (dihitung dari 0), yang merupakan elemen kedua dari array.
Yang kedua adalah jumlah elemen yang dihapus, dan hanya satu elemen yang dihapus di sini, yaitu, 'B';
Pada saat ini, dimungkinkan untuk melintasi elemen array dengan cara yang normal, seperti untuk, karena elemen yang dihapus tidak disimpan dalam array.
* Metode ini hanya akan didukung setelah IE5.5
Perlu disebutkan bahwa saat menghapus elemen array, metode splice juga dapat menambahkan elemen array.
Misalnya, arr.splice (1,1, 'd', 'e'), d, dan e ditambahkan ke array arr array
Array hasil menjadi arr: 'a', 'd', 'e', 'c'
JavaScript memotong array dengan mengatur atribut panjang array adalah satu -satunya cara untuk mempersingkat panjang array. tidak berubah dua kali.
/ * * Metode: Array.Remove (DX) * Fungsi: Hapus elemen array. .prototype.remove = function (dx) {if (isnan (dx) || dx> this.length) {return false;} untuk (var i = 0, n = 0; i <this.length; i ++) {if (this [i]! = this [dx]) {this [n ++] = this [i]}} this.length- = 1} a = ['1', '2', '3', '4', '5']; +a.length); / * Metode: Array.Baoremove (DX) * Hapus elemen array. Array .prototype.baoremove = function (dx) {if (isnan (dx) || dx> this.length) {return false;} this.splice (dx, 1);} b = ['1', '2' , 3 ',' 4 ',' 5 ']; "Elemen:"+b+"nlength:"+b.length);Kita tahu bahwa di IE5 atau lebih rendah, objek array Javascript tidak memberikan cara yang tidak menyenangkan untuk menghapus elemen array. Dalam versi IE5.5+, meskipun ada metode sambungan, itu tidak menghapus item tertentu (atau beberapa item), tetapi hanya menghapus nilai item tertentu (atau beberapa item), yang berarti bahwa item masih ada , panjang array tidak berubah.
Bahkan, kita dapat menambahkan metode hapus ke array sendiri (perhatikan bahwa ini mengacu pada menghapus item array dari anggota array). Mungkin Anda akan berpikir untuk menggunakan loop untuk menugaskan kembali array, yang tentu saja ok, tetapi tidak efisien.
Di bawah ini kami memperkenalkan dua metode menggunakan Slice dan Concat untuk menyesuaikan penghapusan array.
Kode spesifiknya adalah sebagai berikut, harap perhatikan komentar di dalamnya.
Array.prototype.del = function (n) {// n mewakili istilah mana, mulai dari 0. // Prototipe adalah prototipe objek, perhatikan metode menambahkan metode khusus ke objek di sini. if (n <0) // jika n <0, tidak ada yang dilakukan. kembalikan ini; Berikut adalah array baru yang terdiri dari ini. Metode Slice: Mengembalikan segmen array dengan dua parameter, menentukan posisi awal dan akhir masing -masing. */} // mari kita coba metode ini untuk meningkatkannya sendiri = array baru (0,1,2,3,4,5); Butir 4. waspada (tes);Dengan cara ini, kami hanya menggunakan dua metode objek array secara fleksibel untuk mencapai persyaratan kami.