Rumah  >  Artikel  >  hujung hadapan web  >  Perbincangan ringkas tentang objek Tatasusunan JavaScript_Pengetahuan asas

Perbincangan ringkas tentang objek Tatasusunan JavaScript_Pengetahuan asas

WBOY
WBOYasal
2016-05-16 16:23:51942semak imbas

Susun atur

1. Pengenalan

Tatasusunan ialah himpunan nilai tersusun. Setiap nilai dipanggil elemen, dan setiap elemen mempunyai kedudukan dalam tatasusunan, diwakili oleh nombor, dipanggil indeks. Tatasusunan JavaScript tidak ditaip: elemen tatasusunan boleh terdiri daripada sebarang jenis, dan elemen yang berbeza dalam tatasusunan yang sama mungkin mempunyai jenis yang berbeza. --"Panduan Definitif untuk JavaScript (Edisi Ke-6)"

2. Definisi

Salin kod Kod adalah seperti berikut:

var names = new Array("Zhang San", "Li Si", "Wang Wu");
//atau
var names = ["Zhang San", "Li Si", "Wang Wu"];

3. Atribut

panjang: Menunjukkan panjang elemen dalam tatasusunan.

4 kaedah Instance

Kaedah biasa:

1) unshift(): Masukkan elemen di kepala tatasusunan

2) shift(): Alih keluar dan kembalikan elemen pertama tatasusunan

3) push(): Masukkan elemen di hujung tatasusunan

4) pop(): Alih keluar dan kembalikan elemen terakhir tatasusunan

4.1 concat(): Sambungkan elemen ke tatasusunan. Tatasusunan asal tidak akan diubah suai dan tatasusunan baharu akan dikembalikan
Parameter:

①nilai1,nilai2....nilaiN: sebarang bilangan nilai

Nilai pulangan:

{Array} Tatasusunan baharu, yang mengandungi Tatasusunan asal dan elemen yang baru ditambah.

Contoh:

Salin kod Kod adalah seperti berikut:

var demoArray = ['a', 'b', 'c'];
var demoArray2 = demoArray.concat('e');
console.log(demoArray); // => demoArray:['a','b','c'] Tatasusunan asal tidak berubah
console.log(demoArray2); // => ['a','b','c','e']

4.2 every(): Lintas unsur dalam urutan dan tentukan sama ada setiap elemen adalah benar
Parameter:

①fungsi(nilai,indeks,diri){}: Setiap elemen akan menggunakan fungsi ini untuk menentukan sama ada ia benar Apabila seseorang ditentukan sebagai palsu, traversal akan tamat serta-merta.

Nilai: elemen traversal tatasusunan

Indeks: nombor unsur

Diri: Susunan sendiri

Nilai pulangan:

{Boolean}: Mengembalikan benar hanya jika setiap elemen adalah benar;

Contoh:

Salin kod Kod adalah seperti berikut:

var demoArray = [1, 2, 3];
var rs = demoArray.every(fungsi (nilai, indeks, diri) {
Nilai pulangan > 0;
});
console.log(rs); // =>
4.3 filter(): Melintasi elemen dalam urutan dan mengembalikan tatasusunan baharu yang mengandungi elemen yang memenuhi syarat.

Parameter:

①function(value,index,self){}: Panggil fungsi ini pada setiap elemen secara bergilir-gilir dan kembalikan tatasusunan baharu yang mengandungi elemen yang memenuhi syarat.

Nilai: elemen traversal tatasusunan

Indeks: nombor elemen

Diri: Susun sendiri

Nilai pulangan:

{Array} Tatasusunan baharu yang mengandungi elemen yang memenuhi kriteria

Contoh:

Salin kod Kod adalah seperti berikut:
var demoArray = [1, 2, 3];
var rs = demoArray.filter(fungsi (nilai, indeks, diri) {
Nilai pulangan > 0;
});
console.log(rs); // =>

4.4 forEach(): Lintas elemen dalam urutan dan laksanakan fungsi yang ditentukan; Parameter:


①fungsi(nilai,indeks,diri){}: Panggil fungsi ini untuk setiap elemen secara bergilir

Nilai: elemen traversal tatasusunan

Indeks: nombor elemen

Diri: Susunan sendiri

Nilai pulangan: Tiada

Contoh:

var demoArray = [1, 2, 3];
demoArray.forEach(fungsi (nilai, indeks, diri) {
Console.log(value); // => Output dalam urutan: 1 2 3
});

4.5 indexOf(): Cari elemen padanan dalam tatasusunan. Jika tiada unsur padanan, -1 dikembalikan. Gunakan operator "===" semasa mencari, jadi anda perlu membezakan antara 1 dan '1'
Parameter:

①nilai: Nilai untuk ditemui dalam tatasusunan.

②mula: Kedudukan nombor siri untuk mula mencari. Jika ditinggalkan, ia akan menjadi 0.

Nilai pulangan:

{Int}: Mengembalikan nombor siri nilai padanan pertama dalam tatasusunan Jika ia tidak wujud, mengembalikan -1

Contoh:

Salin kod Kod adalah seperti 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: '===' kaedah pemadanan digunakan

4.6 join(): Sambung semua elemen dalam tatasusunan menjadi rentetan menggunakan pembatas.
Parameter:

①sparator {String}: Pemisah antara setiap elemen Jika diabaikan, ia akan dipisahkan dengan koma Inggeris ',' secara lalai.

Nilai pulangan:

{String}: Setiap elemen disambung ke dalam rentetan dengan sparator sebagai pemisah.

Contoh:

Salin kod Kod adalah seperti berikut:

['a', 'b', 'c'].join(); // => 'a,b,c'
['a', 'b', 'c'].join('-'); // => 'a-b-c'

4.7 lastIndexOf: Cari elemen padanan secara terbalik dalam tatasusunan. Jika tiada unsur yang sepadan, -1 dikembalikan. Gunakan operator "===" semasa mencari, jadi anda perlu membezakan antara 1 dan '1'
Parameter:

①nilai: Nilai untuk ditemui dalam tatasusunan.

②mula: Kedudukan nombor siri untuk mula mencari Jika ditinggalkan, carian akan bermula dari elemen terakhir.

Nilai pulangan:

{Int}: Cari dari kanan ke kiri untuk nombor siri nilai padanan pertama dalam tatasusunan Jika ia tidak wujud, kembalikan -1

Contoh:

Salin kod Kod adalah seperti berikut:

['a', 'b', 'c'].lastIndexOf('a'); // == 0
['a', 'b', 'c'].lastIndexOf('a', 1); ['a', 'b', 'c'].lastIndexOf('d'); // == -1
[1, 2, 3].lastIndexOf('1'); // => -1: '===' kaedah pemadanan yang digunakan

4.8 map(): Lintas dan hitung setiap elemen dalam urutan, dan kembalikan tatasusunan elemen yang dikira

Parameter:

①fungsi(nilai,indeks,diri){}: Setiap elemen memanggil fungsi ini secara bergilir-gilir dan mengembalikan elemen yang dikira

Nilai: elemen traversal tatasusunan

Indeks: nombor elemen

Diri: Susunan sendiri

Nilai pulangan:

{Array} Tatasusunan baharu yang mengandungi elemen yang baik

Contoh:

Salin kod Kod adalah seperti berikut:
[1, 2, 3].peta(fungsi (nilai, indeks, diri) {
Nilai pulangan * 2;
}); // => [2, 4, 6]

4.9 pop(): Alih keluar dan kembalikan elemen terakhir tatasusunan

Parameter: Tiada

Nilai pulangan:

{Objek} Elemen terakhir tatasusunan; jika tatasusunan kosong, tidak ditentukan

dikembalikan

Contoh:

Salin kod Kod adalah seperti berikut:
var demoArray = ['a', 'b', 'c'];
demoArray.pop(); // => demoArray.pop(); // => demoArray.pop(); // => demoArray.pop(); // =>


4.10 push(): Tambahkan elemen pada penghujung tatasusunan
Parameter:
①value1,value2....valueN: Tambahkan sebarang bilangan nilai pada penghujung tatasusunan

Nilai pulangan:

{int} panjang tatasusunan baharu

Contoh:

Salin kod

Kod adalah seperti berikut: var demoArray = ['a', 'b', 'c']; demoArray.push('d'); // => 4, demoArray: ['a', 'b', 'c', 'd'] demoArray.push('e', 'f'); // => 🎜> console.log(demoArray); // =>

4.11 reverse(): Balikkan susunan elemen tatasusunan.
Parameter: Tiada

Nilai pulangan: Tiada (terbalikkan susunan elemen dalam tatasusunan asal).

Contoh:

Salin kod Kod adalah seperti berikut:

var demoArray = ['a', 'b', 'c', 'd', 'e'];
demoArray.reverse();
console.log(demoArray); // => ["e", "d", "c", "b", "a"]

4.12 shift(): Alih keluar dan kembalikan elemen pertama tatasusunan
Parameter: Tiada

Nilai pulangan:

{Objek} Elemen pertama tatasusunan; jika tatasusunan kosong, tidak ditentukan dikembalikan.

Contoh:

Salin kod Kod adalah seperti berikut:

var demoArray = ['a', 'b', 'c'];
demoArray.shift(); // => demoArray.shift(); // => demoArray.shift(); // => demoArray.shift(); // =>


4.13 slice(startIndex,endIndex): Kembalikan sebahagian daripada tatasusunan.
Parameter:
①startIndex: Nombor siri pada permulaan; jika ia adalah nombor negatif, ia bermakna mengira dari hujung, -1 mewakili elemen terakhir, -2 mewakili elemen kedua hingga terakhir, dan seterusnya.


②endIndex: Nombor siri selepas elemen pada penghujungnya. Elemen yang dipintas tidak mengandungi elemen dengan nombor siri di sini, dan berakhir dengan elemen sebelum nombor siri di sini.

Nilai pulangan:

{Array} Tatasusunan baharu yang mengandungi semua elemen daripada startIndex hingga elemen endIndex sebelumnya.

Contoh:

Salin kod

Kod adalah seperti berikut: [1, 2, 3, 4, 5, 6].slice(); // => [1, 2, 3, 4, 5, 6].slice(1); // => [1, 2, 3, 4, 5, 6].slice(0, 4); // => 4) Elemen [1, 2, 3, 4, 5, 6].slice(-2); // =>

4.14 sort(opt_orderFunc): Isih mengikut peraturan tertentu
Parameter:

①opt_orderFunc(v1,v2) {Fungsi}: Fungsi peraturan pengisihan pilihan. Jika diabaikan, elemen akan diisih mengikut abjad daripada kecil ke besar.
v1: Elemen sebelumnya semasa melintasi.

v2: Elemen berikut semasa melintasi.

Isih:

Bandingkan v1 dan v2 dan kembalikan nombor untuk mewakili peraturan pengisihan v1 dan v2:

Kurang daripada 0: v1 lebih kecil daripada v2, v1 diletakkan di hadapan v2.

Sama dengan 0: v1 sama dengan v2, v1 diletakkan di hadapan v2.

Lebih besar daripada 0: v1 lebih besar daripada v2, v1 diletakkan di belakang v2.

Nilai pulangan: Tiada (operasi isih dalam tatasusunan asal).

Contoh:

Salin kod

Kod adalah seperti berikut:

[1, 3, 5, 2, 4, 11, 22].sort(); // => watak 11 didahulukan sebelum 2 [1, 3, 5, 2, 4, 11, 22].sort(fungsi (v1, v2) { Kembali v1 - v2; }); // => [1, 2, 3, 4, 5, 11, 22]: Isih daripada kecil ke besar [1, 3, 5, 2, 4, 11, 22].sort(fungsi (v1, v2) {
Return -(v1 - v2); //Jika anda menafikannya, anda boleh menukarnya kepada Daripada besar kepada kecil
}); // => [22, 11, 5, 4, 3, 2, 1]



4.15 splice(): Masukkan dan padam elemen tatasusunan
Parameter:

①mula {int}: Nombor urutan permulaan untuk mula memasukkan, memadam atau menggantikan.
②deleteCount {int}: Bilangan elemen yang akan dipadamkan, dikira dari mula.

③value1,value2 ... valueN {Object}: parameter pilihan, menunjukkan elemen yang akan dimasukkan, bermula dari mula. Jika parameter ② bukan 0, maka operasi pemadaman dilakukan terlebih dahulu, dan kemudian operasi pemasukan dilakukan.

Nilai pulangan:

{Array} Mengembalikan tatasusunan baharu yang mengandungi elemen yang dipadamkan. Jika parameter ② ialah 0, ini bermakna tiada elemen dipadamkan dan tatasusunan kosong dikembalikan.

Contoh:

Salin kod

Kod adalah seperti berikut:


// 1. Padam
var demoArray = ['a', 'b', 'c', 'd', 'e'];
var demoArray2 = demoArray.splice(0, 2); // Padamkan 2 elemen bermula dari 0 dan kembalikan tatasusunan yang mengandungi elemen yang dipadam: ['a', 'b']
console.log(demoArray2); // => ['a', 'b']
console.log(demoArray); // => ['c', 'd', 'e']
// 2. Sisipkan
var demoArray = ['a', 'b', 'c', 'd', 'e'];
var demoArray2 = demoArray.splice(0, 0, '1', '2', '3'); // ②Parameter ialah 0 dan tatasusunan kosong dikembalikan
console.log(demoArray2); // => console.log(demoArray); // => ['1', '2', '3', 'a', 'b', 'c', 'd', 'e']
// 3. Padam dahulu dan kemudian masukkan
var demoArray = ['a', 'b', 'c', 'd', 'e'];
// Apabila parameter ② bukan 0, kemudian lakukan operasi pemadaman terlebih dahulu (padamkan 4 elemen bermula dari 0 dan kembalikan tatasusunan yang mengandungi elemen yang dipadam), dan kemudian lakukan operasi pemadaman
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(): Gabungkan semua elemen dalam tatasusunan menjadi rentetan melalui koma Inggeris ','.

Parameter: Tiada

Nilai pulangan:

{String} Semua elemen dalam tatasusunan digabungkan menjadi rentetan melalui koma bahasa Inggeris ',' dan dikembalikan. Sama seperti memanggil kaedah join() tanpa parameter.

Contoh:

Salin kod Kod adalah seperti berikut:
[1, 2, 3, 4, 5].toString(); // => ['a', 'b', 'c', 'd', 'e'].toString(); // => 'a,b,c,d,e'


4.17 unshift(): Sisipkan elemen di kepala tatasusunan Parameter:


①value1,value2....valueN: Tambahkan sebarang bilangan nilai pada kepala tatasusunan

Nilai pulangan:

{int} panjang tatasusunan baharu

Contoh:

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'); // =>


5. Kaedah statik

5.1 Array.isArray(): Tentukan sama ada objek ialah tatasusunan Parameter:

①nilai {Objek}: sebarang objek

Nilai pulangan:

{Boolean} Mengembalikan keputusan penghakiman. Apabila ia benar, ia bermakna objek itu adalah tatasusunan;

Contoh:

Salin kod

Kod adalah seperti berikut: Array.isArray([]); // => Array.isArray(['a', 'b', 'c']); // => Array.isArray('a'); // => Array.isArray('[1, 2, 3]'); // =>

6. Operasi praktikal


Indeks 6.1
Penerangan: Setiap elemen mempunyai kedudukan dalam tatasusunan, diwakili oleh nombor, dipanggil indeks. Indeks bermula dari 0, iaitu indeks unsur pertama ialah 0, indeks unsur kedua ialah 1, dan seterusnya;
Apabila mendapat indeks yang tidak wujud dalam tatasusunan, undefined dikembalikan.

Contoh:


Salin kod

Kod adalah seperti berikut:

6.2 untuk pernyataan
Nota: Anda boleh melintasi tatasusunan satu demi satu melalui pernyataan for

Contoh:


Salin kod

Kod adalah seperti berikut:

var demoArray = ['a', 'b', 'c', 'd', 'e']; untuk (var i = 0, panjang = demoArray.length; i < panjang; i ) { console.log(demoArray[i]); // => }

6.3 Salinan Cetek
Nota: Jenis Tatasusunan ialah jenis rujukan apabila tatasusunan a disalin ke tatasusunan b, jika unsur tatasusunan b diubahsuai, tatasusunan a juga akan diubahsuai.

Contoh:

Salin kod Kod adalah seperti berikut:

var demoArrayA = ['a', 'b', 'c', 'd', 'e'];
var demoArrayB = demoArrayA; // Berikan tatasusunan A kepada tatasusunan B
demoArrayB[0] = 1; // Ubah suai unsur tatasusunan B
console.log(demoArrayA); // => [1, 'b', 'c', 'd', 'e']: Elemen tatasusunan A juga telah berubah

6.4 Salinan Dalam
Penerangan: Gunakan kaedah concat() untuk mengembalikan tatasusunan baharu untuk mengelakkan penyalinan cetek, ubah suai elemen tatasusunan b dan tatasusunan a tidak akan berubah.

Contoh:

Salin kod Kod adalah seperti berikut:

var demoArrayA = ['a', 'b', 'c', 'd', 'e'];
var demoArrayB = demoArrayA.concat(); // Gunakan kaedah concat() untuk mengembalikan tatasusunan baharu
demoArrayB[0] = 1; // Ubah suai unsur tatasusunan B
console.log(demoArrayA); // => ['a', 'b', 'c', 'd', 'e']: Elemen tatasusunan A tidak berubah
console.log(demoArrayB); // => [ 1, 'b', 'c', 'd', 'e']: Elemen tatasusunan B telah berubah
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn