Penambahan dan penghapusan elemen array JS telah membingungkan. Hari ini saya akhirnya menemukan deskripsi terperinci. Saya akan memberi saya kode untuk mengujinya terlebih dahulu^-^
Salinan kode adalah sebagai berikut:
var arr = array baru ();
arr [0] = "aaa";
arr [1] = "bbb";
arr [2] = "ccc";
//alert(arr.length) ;///3
arr.pop ();
//alert(arr.length);//2
//alert(arraceArr.length-1 );//bbb
arr.pop ();
//alert(arr[arr.length-1 );//aaa
//alert(arr.length);//1
var arr2 = array baru ();
//alert(arr2.length);//0
arr2 [0] = "aaa";
arr2 [1] = "bbb";
//alert(arr2.length);//2
arr2.pop ();
//alert(arr2.length);//1
arr2 = arr2.slice (0, arr2.length-1);
//alert(arr2.length);//0
arr2 [0] = "aaa";
arr2 [1] = "bbb";
arr2 [2] = "ccc";
arr2 = arr2.slice (0,1);
alert (arr2.length); // 1
peringatan (arr2 [0]); // aaa
peringatan (arr2 [1]); // tidak ditentukan
Shift: Hapus item pertama dari array asli dan kembalikan nilai elemen yang dihapus; Jika array kosong, kembalikan tidak ditentukan
var a = [1,2,3,4,5];
var b = a.shift (); // A: [2,3,4,5] B: 1
Unshift: Tambahkan parameter ke awal array asli dan kembalikan panjang array
var a = [1,2,3,4,5];
var b = A.unshift (-2, -1); // A: [-2, -1,1,2,3,4,5] B: 7
Catatan: Nilai pengembalian tes di IE6.0 selalu tidak ditentukan, dan nilai pengembalian tes di FF2.0 adalah 7, sehingga nilai pengembalian metode ini tidak dapat diandalkan. Ketika Anda perlu menggunakan nilai pengembalian, Anda dapat menggunakan splice alih -alih metode ini.
POP: Hapus item terakhir dari array asli dan kembalikan nilai elemen yang dihapus; Jika array kosong, kembalikan tidak ditentukan
var a = [1,2,3,4,5];
var b = a.pop (); // A: [1,2,3,4] b: 5 // jika Anda tidak perlu kembali, sebut saja secara langsung
Dorong: Tambahkan parameter ke ujung array asli dan kembalikan panjang array
var a = [1,2,3,4,5];
var b = a.push (6,7); // A: [1,2,3,4,5,6,7] B: 7
Concat: Mengembalikan array baru, yang terdiri dari menambahkan parameter ke array asli.
var a = [1,2,3,4,5];
var b = a.concat (6,7); // A: [1,2,3,4,5] B: [1,2,3,4,5,6,7]
Splice (Mulai, Deletecount, Val1, Val2, ...): Item Deletecount dari posisi awal, dan masukkan Val1, Val2, ...
Saat membersihkan array, cukup berikan startIndex.
Jika semua elemen tidak dihapus, lewati parameter Deletecount.
Splice juga memiliki fungsi menghapus terlebih dahulu dan kemudian menambahkan, yaitu, menghapus beberapa elemen terlebih dahulu, dan kemudian menambahkan beberapa elemen pada posisi yang dihapus. Jumlah elemen yang dihapus dan ditambahkan tidak boleh sama. Pada saat ini, Deletecount juga digunakan.
var a = [1,2,3,4,5];
var b = a.splice (2,2,7,8,9); // A: [1,2,7,8,9,5] B: [3,4]
var b = a.splice (0,1); // shift yang sama
a.splice (0,0, -2, -1); var b = a.length; // tidak henti
var b = a.splice (a.length-1,1); // pop yang sama
a.splice (a.length, 0,6,7); var b = a.length; // dorongan yang sama
Reverse: Balikkan array
var a = [1,2,3,4,5];
var b = a.reverse (); // A: [5,4,3,2,1] B: [5,4,3,2,1]
urutkan (orderfunction): urutkan array berdasarkan parameter yang ditentukan
var a = [1,2,3,4,5];
var b = a.sort (); // A: [1,2,3,4,5] B: [1,2,3,4,5]
Slice (Start, End): Mengembalikan array baru yang terdiri dari item dari subskrip mulai yang ditentukan ke subskrip akhir dalam array asli.
var a = [1,2,3,4,5];
var b = a.slice (2,5); // A: [1,2,3,4,5] B: [3,4,5]
Bergabunglah (pemisah): Kelompokkan elemen -elemen array menjadi string, dengan pemisah sebagai pemisah. Jika dihilangkan, gunakan koma sebagai pemisah secara default.
var a = [1,2,3,4,5];
var b = a.join ("|"); // A: [1,2,3,4,5] B: "1 | 2 | 3 | 4 | 5"
Berikut adalah cara lain untuk menggunakan array untuk mensimulasikan JavastringBuffer untuk memproses string:
/**
* Fungsi pemrosesan string
*/
function stringBuffer () {
var arr = array baru;
this.append = function (str) {
arr [arr.length] = str;
};
this.toString = function () {
kembalikan arr.join (""); // ping array yang ditambahkan ke dalam string
};
}
Hari ini, saya tiba -tiba menemukan bahwa gabungan adalah cara yang baik untuk mengubah array menjadi string dalam aplikasi, jadi saya merangkumnya menjadi objek dan menggunakan:
/**
*Konversi array menjadi string yang dibagi dengan simbol tertentu
*/
function arrayToString (ARR, pemisah) {
if (! pemisah) pemisah = ""; // jika pemisah nol, itu akan kosong secara default
return arr.join (pemisah);
}
/**
* Temukan string yang terkandung dalam array
*/
function arrayFindString (arr, string) {
var str = arr.join ("");
return str.indexof (string);
}