Array array
1. Pendahuluan
Array adalah kumpulan nilai yang dipesan. Setiap nilai disebut elemen, dan setiap elemen memiliki posisi dalam array, diwakili oleh angka, disebut indeks. Array JavaScript tidak ada jenis: elemen array dapat berupa jenis apa pun, dan elemen yang berbeda dalam array yang sama juga dapat memiliki jenis yang berbeda. -"Panduan otoritatif untuk JavaScript (edisi keenam)"
2. Definisi
Salinan kode adalah sebagai berikut:
names var = array baru ("Zhang San", "Li Si", "Wang Wu");
//atau
var name = ["Zhang San", "Li Si", "Wang Wu"];
3. Properti
Panjang: mewakili panjang elemen dalam array.
4. Metode contoh
Metode Umum:
1) unshift (): Masukkan elemen di kepala array
2) Shift (): Hapus dan kembalikan elemen pertama dari array
3) push (): masukkan elemen di ujung array
4) Pop (): Hapus dan kembalikan elemen terakhir dari array
4.1 concat (): Hubungkan elemen ke array. Array asli tidak akan dimodifikasi, dan array baru akan dikembalikan.
parameter:
①Value1, value2 ... Valuen: Sejumlah nilai
Nilai pengembalian:
{Array} Array baru yang berisi array asli dan elemen yang baru ditambahkan.
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = ['a', 'b', 'c'];
var demoarray2 = demoarray.concat ('e');
console.log (demoarray); // => demoarray: ['a', 'b', 'c'] Array asli tidak berubah
console.log (demoarray2); // => ['a', 'b', 'c', 'e']
4.2 Every (): melintasi elemen pada gilirannya untuk menentukan apakah setiap elemen itu benar
parameter:
① Fungsi (nilai, indeks, self) {}: Setiap elemen akan menggunakan fungsi ini untuk menentukan apakah itu benar. Ketika dinilai bahwa seseorang salah, traversal akan segera berakhir.
Nilai: Unsur traversal array
Indeks: Nomor Elemen
Diri: Array itu sendiri
Nilai pengembalian:
{Boolean}: return true hanya jika setiap elemen benar; Jika seseorang salah, kembalikan salah.
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = [1, 2, 3];
var rs = demoarray.every (function (value, index, self) {
nilai pengembalian> 0;
});
Console.log (RS); // => true
4.3 Filter (): Melintasi elemen pada gilirannya dan mengembalikan array baru yang berisi elemen yang memenuhi kriteria.
parameter:
① Fungsi (nilai, indeks, self) {}: Setiap elemen memanggil fungsi ini secara bergantian, mengembalikan array baru yang berisi elemen yang memenuhi kriteria.
Nilai: Unsur traversal array
Indeks: Nomor Elemen
Diri: Array itu sendiri
Nilai pengembalian:
{Array} Array baru yang berisi elemen yang sesuai dengan kriteria
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = [1, 2, 3];
var rs = demoarray.filter (function (value, index, self) {
nilai pengembalian> 0;
});
Console.log (RS); // => [1, 2, 3]
4.4 foreach (): Traverse Elements secara berurutan dan menjalankan fungsi yang ditentukan; Tidak ada nilai pengembalian.
parameter:
① fungsi (nilai, indeks, self) {}: Setiap elemen memanggil fungsi ini secara bergantian
Nilai: Unsur traversal array
Indeks: Nomor Elemen
Diri: Array itu sendiri
Nilai Pengembalian: Tidak Ada
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = [1, 2, 3];
demoarray.foreach (fungsi (nilai, indeks, self) {
console.log (nilai); // => output dalam urutan: 1 2 3
});
4.5 IndexOF (): Temukan elemen pencocokan dalam array. Jika tidak ada elemen yang cocok, kembalikan -1. Gunakan operator "===" saat mencari, jadi Anda perlu membedakan antara 1 dan '1'
parameter:
①Value: Nilai yang dapat ditemukan di array.
②Start: Posisi nomor seri yang mulai mencari, jika dihilangkan, itu adalah 0.
Nilai pengembalian:
{Int}: Mengembalikan nilai pencocokan pertama dalam array. Jika tidak ada, kembalikan -1
Contoh:
Salinan kode adalah sebagai berikut:
['a', 'b', 'c']. indexof ('a'); // => 0
['a', 'b', 'c']. indexof ('a', 1); // =>-1
['a', 'b', 'c']. indexof ('d'); // =>-1
[1, 2, 3] .indexof ('1'); // => -1: metode pencocokan '===' yang digunakan
4.6 gabungan (): Sambungkan semua elemen dalam array menjadi string melalui pembatas.
parameter:
①Sparator {String}: Pemisah antara setiap elemen. Jika dihilangkan, dipisahkan oleh koma Inggris ',' secara default.
Nilai pengembalian:
{String}: String yang disambung oleh setiap elemen dengan sparator sebagai pemisah.
Contoh:
Salinan kode adalah sebagai berikut:
['a', 'b', 'c']. gabung (); // => 'a, b, c'
['a', 'b', 'c']. gabung ('-'); // => 'ab-c'
4.7 LastIndexOf: Cari elemen yang cocok dalam array. Jika tidak ada elemen yang cocok, kembalikan -1. Gunakan operator "===" saat mencari, jadi Anda perlu membedakan antara 1 dan '1'
parameter:
①Value: Nilai yang dapat ditemukan di array.
②Start: Posisi nomor urutan yang mulai mencari. Jika dihilangkan, mulailah mencari dari elemen terakhir.
Nilai pengembalian:
{Int}: Mulai temukan nilai pencocokan pertama di array dari kanan ke kiri. Jika tidak ada, kembalikan -1
Contoh:
Salinan kode adalah sebagai berikut:
['a', 'b', 'c']. lastIndexof ('a'); // => 0
['a', 'b', 'c']. lastIndexof ('a', 1); // => 0
['a', 'b', 'c']. lastIndexof ('d'); // => -1
[1, 2, 3] .lastIndexof ('1'); // => -1: metode pencocokan '===' yang digunakan
4.8 MAP (): Iterasi lebih dan menghitung setiap elemen secara berurutan, dan mengembalikan array elemen yang dihitung
parameter:
① Fungsi (nilai, indeks, self) {}: Setiap elemen memanggil fungsi ini secara bergantian untuk mengembalikan elemen yang dihitung
Nilai: Unsur traversal array
Indeks: Nomor Elemen
Diri: Array itu sendiri
Nilai pengembalian:
{Array} array baru yang mengandung bahkan elemen yang bagus
Contoh:
Salinan kode adalah sebagai berikut:
[1, 2, 3] .map (fungsi (nilai, indeks, self) {
nilai pengembalian * 2;
}); // => [2, 4, 6]
4.9 Pop (): Hapus dan kembalikan elemen terakhir dari array
Parameter: Tidak ada
Nilai pengembalian:
{Objek} elemen terakhir dari array; Jika array kosong, kembalikan tidak ditentukan
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = ['a', 'b', 'c'];
demoarray.pop (); // => c
demoarray.pop (); // => b
demoarray.pop (); // => a
demoarray.pop (); // => tidak terdefinisi
4.10 push (): Tambahkan elemen ke ujung array
parameter:
①Value1, Value2 ... Valuen: Tambahkan sejumlah nilai ke akhir array
Nilai pengembalian:
{int} panjang baru array
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = ['a', 'b', 'c'];
demoarray.push ('d'); // => 4, demoarray: ['a', 'b', 'c', 'd']
demoarray.push ('e', 'f'); // => 6, demoarray: ['a', 'b', 'c', 'd', 'e', 'f']
console.log (demoarray); // => ['a', 'b', 'c', 'd', 'e', 'f']
4.11 Reverse (): Membalikkan urutan elemen array.
Parameter: Tidak ada
Nilai Pengembalian: Tidak Ada (Urutan Elemen Terbalik di Array Asli).
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
demoarray.reverse ();
console.log (demoarray); // => ["e", "d", "c", "b", "a"]
4.12 shift (): Hapus dan kembalikan elemen pertama dari array
Parameter: Tidak ada
Nilai pengembalian:
{Objek} elemen pertama dari array; Jika array kosong, tidak ditentukan dikembalikan.
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = ['a', 'b', 'c'];
demoarray.shift (); // => a
demoarray.shift (); // => b
demoarray.shift (); // => c
demoarray.shift (); // => tidak terdefinisi
4.13 Slice (StartIndex, EndIndex): Mengembalikan bagian dari array.
parameter:
① StartIndex: Nomor urutan di awal; Jika itu adalah angka negatif, itu berarti bahwa perhitungan dimulai dari akhir, -1 mewakili elemen terakhir, -2 adalah yang kedua hingga terakhir, dan seterusnya.
②EndIndex: Jumlah urutan terakhir dari elemen di akhir, jika tidak ditentukan, ujungnya adalah akhir. Elemen yang dicegat tidak berisi elemen dengan nomor urutan di sini, dan akhir adalah elemen sebelumnya dengan nomor urutan di sini.
Nilai pengembalian:
{Array} Array baru yang berisi semua elemen dari StartIndex ke elemen sebelumnya dari EndIndex.
Contoh:
Salinan kode adalah sebagai berikut:
[1, 2, 3, 4, 5, 6] .slice (); // => [1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6] .slice (1); // => [2, 3, 4, 5, 6]: Mulai dari nomor seri 1
[1, 2, 3, 4, 5, 6] .slice (0, 4); // => [1, 2, 3, 4]: mencegat elemen nomor seri 0 ke nomor seri 3 (yang sebelumnya dari nomor seri 4)
[1, 2, 3, 4, 5, 6] .slice (-2); // => [5, 6]: mencegat 2 elemen berikutnya
4.14 Sort (opt_orderfunc): Urutkan sesuai dengan aturan tertentu
parameter:
① opt_orderfunc (v1, v2) {function}: fungsi aturan penyortiran opsional. Jika dihilangkan, huruf -huruf elemen akan disortir dari kecil ke besar.
V1: Elemen sebelumnya dilalui.
V2: Elemen -elemen berikut dilalui.
Aturan penyortiran:
Bandingkan V1 dan V2 dan kembalikan angka untuk mewakili aturan penyortiran V1 dan V2:
Kurang dari 0: V1 kurang dari V2, V1 lebih maju dari V2.
Sama dengan 0: V1 sama dengan V2, V1 di depan V2.
Lebih besar dari 0: V1 lebih besar dari V2, V1 di belakang V2.
Nilai Pengembalian: Tidak Ada (Operasi Penyortiran di Array Asli).
Contoh:
Salinan kode adalah sebagai berikut:
[1, 3, 5, 2, 4, 11, 22] .sort (); // => [1, 11, 2, 22, 3, 4, 5]: Semua elemen dikonversi menjadi karakter, dan karakter 11 adalah sebelum 2
[1, 3, 5, 2, 4, 11, 22] .sort (fungsi (v1, v2) {
mengembalikan v1 - v2;
}); // => [1, 2, 3, 4, 5, 11, 22]: diurutkan dari kecil ke besar
[1, 3, 5, 2, 4, 11, 22] .sort (fungsi (v1, v2) {
return - (v1 - v2); // terbalik, Anda dapat mengonversi dari besar menjadi kecil
}); // => [22, 11, 5, 4, 3, 2, 1]
4.15 splice (): Masukkan dan hapus elemen array
parameter:
① Mulai {int}: Nomor urutan awal untuk mulai memasukkan, menghapus atau mengganti.
②Deletecount {int}: Jumlah elemen yang akan dihapus, mulailah perhitungan dari awal.
③Value1, Value2 ... Valuen {Object}: Parameter opsional, menunjukkan elemen yang akan dimasukkan, dan mulai menyisipkan dari awal. Jika parameter ② bukan 0, maka lakukan operasi hapus terlebih dahulu dan kemudian lakukan operasi insert.
Nilai pengembalian:
{Array} Mengembalikan array baru yang berisi elemen yang dihapus. Jika parameter ② adalah 0, itu berarti tidak ada elemen yang dihapus dan array kosong dikembalikan.
Contoh:
Salinan kode adalah sebagai berikut:
// 1. Hapus
var demoarray = ['a', 'b', 'c', 'd', 'e'];
var demoarray2 = demoarray.splice (0, 2); // Hapus 2 elemen mulai dari 0 dari nomor urutan dan mengembalikan array yang berisi elemen yang dihapus: ['a', 'b']
console.log (demoarray2); // => ['a', 'b']
console.log (demoarray); // => ['c', 'd', 'e']
// 2. Masukkan
var demoarray = ['a', 'b', 'c', 'd', 'e'];
var demoarray2 = demoarray.splice (0, 0, '1', '2', '3'); // ② Parameternya adalah 0, mengembalikan array kosong
console.log (demoarray2); // => []
console.log (demoarray); // => ['1', '2', '3', 'a', 'b', 'c', 'd', 'e']
// 3. Hapus dulu dan kemudian masukkan
var demoarray = ['a', 'b', 'c', 'd', 'e'];
// Ketika parameter ② bukan 0, lalu lakukan operasi penghapusan terlebih dahulu (hapus 4 elemen dengan nomor urutan mulai dari 0, kembalikan array yang berisi elemen yang dihapus), dan kemudian lakukan operasi penyisipan
var demoarray2 = demoarray.splice (0, 4, '1', '2', '3');
console.log (demoarray2); // => ['a', 'b', 'c', 'd']
console.log (demoarray); // => ['1', '2', '3', 'a', 'b', 'c', 'd', 'e']
4.16 tostring (): menjahit semua elemen dalam array menjadi string melalui koma bahasa Inggris ','.
Parameter: Tidak ada
Nilai pengembalian:
{String} Semua elemen dalam array disambung menjadi string oleh koma bahasa Inggris ',' dan dikembalikan. Hal yang sama untuk memanggil metode join () tanpa parameter.
Contoh:
Salinan kode adalah sebagai berikut:
[1, 2, 3, 4, 5] .tostring (); // => '1,2,3,4,5'
['a', 'b', 'c', 'd', 'e']. tostring (); // => 'a, b, c, d, e'
4.17 unshift (): Masukkan elemen di kepala array
parameter:
①Value1, Value2 ... Valuen: Tambahkan sejumlah nilai ke header array
Nilai pengembalian:
{int} panjang baru array
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = [];
demoarray.unshift ('a'); // => demoarray: ['a']
demoarray.unshift ('b'); // => demoarray: ['b', 'a']
demoarray.unshift ('c'); // => demoarray: ['c', 'b', 'a']
demoarray.unshift ('d'); // => demoarray: ['d', 'c', 'b', 'a']
demoarray.unshift ('e'); // => demoarray: ['e', 'd', 'c', 'b', 'a']
5. Metode statis
5.1 array.isArray (): Menentukan apakah objek adalah array
parameter:
①Value {objek}: objek apa pun
Nilai pengembalian:
{Boolean} mengembalikan hasil penilaian. Ketika benar, itu berarti bahwa objek adalah array; Saat salah, itu berarti bahwa objek itu bukan array
Contoh:
Salinan kode adalah sebagai berikut:
Array.isarray ([]); // => true
Array.isarray (['a', 'b', 'c']); // => true
Array.isarray ('a'); // => false
Array.isarray ('[1, 2, 3]'); // => false
6. Operasi Praktis
6.1 Indeks
Deskripsi: Setiap elemen memiliki posisi dalam array, diwakili oleh angka, disebut indeks. Indeks dimulai dari 0, yaitu indeks elemen pertama adalah 0, indeks elemen kedua adalah 1, dan seterusnya;
Saat mendapatkan indeks yang tidak ada dalam array, tidak ditentukan dikembalikan.
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
demoarray [0]; // => Dapatkan elemen pertama: 'a'
demoarray [0] = 1; // Atur elemen pertama ke 1
console.log (demoarray); // => demoarray: [1, 'b', 'c', 'd', 'e']
console.log (demoarray [9]); // => tidak terdefinisi: return tidak terdefinisi saat indeks yang diperoleh tidak ada
6.2 untuk pernyataan
Catatan: Anda dapat melintasi array satu per satu melalui pernyataan untuk
Contoh:
Salinan kode adalah sebagai berikut:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
untuk (var i = 0, panjang = demoarray.length; i <panjang; i ++) {
console.log (demoarray [i]); // => elemen output dalam array satu per satu
}
6.3 Salinan dangkal
Catatan: Jenis array adalah jenis referensi; Ketika array A disalin ke Array B, modifikasi elemen dibuat untuk Array B, dan Array A juga akan dimodifikasi.
Contoh:
Salinan kode adalah sebagai berikut:
var demoarraya = ['a', 'b', 'c', 'd', 'e'];
var demoarrayb = demoarraya; // Tetapkan array A ke array b
demoarrayb [0] = 1; // Ubah elemen array b
Console.log (Demoarraya); // => [1, 'b', 'c', 'd', 'e']: Elemen array A juga telah berubah
6.4 Salinan dalam
Catatan: Gunakan metode Concat () untuk mengembalikan array baru; Cegah penyalinan dangkal, lakukan operasi modifikasi elemen pada array B, dan array A tidak akan berubah.
Contoh:
Salinan kode adalah sebagai berikut:
var demoarraya = ['a', 'b', 'c', 'd', 'e'];
var demoarrayb = demoarraya.concat (); // Gunakan metode concat () untuk mengembalikan array baru
demoarrayb [0] = 1; // Ubah elemen array b
Console.log (Demoarraya); // => ['a', 'b', 'c', 'd', 'e']: elemen array A belum berubah
console.log (demoarrayb); // => [1, 'b', 'c', 'd', 'e']: elemen array b telah berubah