Menambahkan elemen ke array di JavaScript adalah masalah yang sangat sederhana. Javascript sendiri menyediakan sejumlah besar fungsi tersebut. Kita dapat menggunakan fungsi milik JS untuk dengan cepat menambahkan elemen ke array. Artikel ini merangkum metode javascript berikut untuk penambahan array.
Metode arr.concat (ARR2) biasanya digunakan untuk menambahkan array, contohnya adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
var arr = array baru (3);
ARR [0] = "Test Array 1 adalah 1";
arr [1] = "Test Array 1 adalah 2";
arr [2] = "Test Array 1 adalah 3";
var arr2 = array baru (3);
ARR2 [0] = "Test Array 2 adalah 1";
ARR2 [1] = "Test Array 2 adalah 2";
ARR2 [2] = "Test Array 2 adalah 3";
document.write (arr.concat (arr2)+"<br/>");
Document.write (arr.concat ("Paman Anda 2", "Paman Anda 3")+"<br/>")
</script>
Banyak orang bingung tentang penambahan dan penghapusan elemen array JS. Sekarang saya akan memberikan kode tes berikut:
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, ...
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 ()
{
return arr.join (""); // ping array append menjadi 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
*/
fungsi arraytostring (ARR, pemisah)
{
if (! pemisah) pemisah = ""; // jika pemisah nol, itu akan kosong secara default
return arr.join (pemisah);
}
/**
* Temukan string yang terkandung dalam array
*/
fungsi arrayfindstring (arr, string)
{
var str = arr.join ("");
return str.indexof (string);
}
Akhirnya, ada tes untuk teman -teman yang suka bermain A.push.Apply (a, b); Saat menambahkan array.
A.push.Apply (a, b); Cara berpikir diri ini keren, dan Anda tidak perlu menulis untuk lingkaran, dan Anda belum mengalami masalah. Sampai hari ini, saya akan menemukan lubang ketika B yang ingin saya tambahkan adalah array besar.
Salinan kode adalah sebagai berikut:
a = array baru ();
b = array baru (125624);
A.push.Apply (a, b);
Kode di atas melempar pengecualian berikut di bawah Mac Chrome
RangeRror yang Tak Terbaik: Ukuran tumpukan panggilan maksimum terlampaui
Jika Anda mengubah array ke B = array baru (125623); Akan menyenangkan memiliki elemen yang lebih kecil. Saya menguji bahwa browser lain juga memiliki array besar untuk membuat kesalahan, tetapi nilai kritis dari browser yang berbeda masih berbeda
Saran yang diberikan di sini adalah untuk jujur dan praktis foreach, yang tidak hanya dapat menghindari masalah pengecualian dari array besar, tetapi juga menganggap kinerja foreach sebagai yang tercepat.