Rumah  >  Artikel  >  hujung hadapan web  >  Kaedah biasa untuk kemahiran JavaScript arrays_javascript

Kaedah biasa untuk kemahiran JavaScript arrays_javascript

WBOY
WBOYasal
2016-05-16 16:11:391228semak imbas

Tentukan sama ada objek ialah tatasusunan: instanceof, Array.isArray()

Untuk halaman web atau skop global, anda boleh menggunakan pengendali instanceof.

if(value instanceof Array){ //Tentukan sama ada nilai ialah tatasusunan
 
}
Pengendali instanceof menganggap bahawa terdapat hanya satu persekitaran pelaksanaan global Jika halaman web mengandungi berbilang bingkai, kaedah Array.isArray() ECMAScript5 yang baharu digunakan.

if(Array.isArray(value)){//Tentukan sama ada nilai ialah array

}
Penyemak imbas yang disokong oleh kaedah Array.isArray() termasuk IE9, Firefor 4, Safari5, Opera 10.5 dan Chrome.

Jika anda ingin menyemak tatasusunan dalam penyemak imbas yang tidak melaksanakan kaedah ini, gunakan:

if(Object.prototype.toString.call(value)=="[object Array]"){
}

Tukar tatasusunan kepada rentetan: toLocaleString(), toString(), valueOf(), join()

Salin kod Kod adalah seperti berikut:

var test=['a','b','c'];
alert(test.toString());//a,b,c
alert(test.toLocaleString());//a,b,c
alert(test.valueOf());//a,b,c
alert(test);//a,b,c call toString() kaedah secara lalai
alert(test.join(','));//a,b,c
alert(test.join('|'));//a|b|c

Kaedah untuk menambah dan mengalih keluar elemen tatasusunan: push(), pop(), unshift(), shift()

Kaedah push() boleh menerima sebarang bilangan parameter, menambahnya pada penghujung tatasusunan satu demi satu dan mengembalikan panjang tatasusunan yang diubah suai.

Kaedah pop() mengalih keluar item terakhir dari penghujung tatasusunan dan mengembalikan item yang dialih keluar.

Kaedah unshift() menambah sebarang bilangan parameter ke hadapan tatasusunan dan mengembalikan panjang tatasusunan baharu.

Kaedah shift() mengalih keluar item pertama dalam tatasusunan dan mengembalikan item yang dialih keluar.

Salin kod Kod adalah seperti berikut:

var test=[];
var count = test.push('a','b');//Tambah
satu demi satu dari hujung tatasusunan count =test.push('c');
makluman(kiraan);//3
makluman(ujian);//
var item = test.pop();
makluman(item);//c
alert(test.length);//2

Kaedah isih: reverse() dan sort()

Kaedah reverse() akan membalikkan susunan istilah tatasusunan dan beroperasi pada tatasusunan itu sendiri.

Kaedah sort() mengisih item tatasusunan dalam tertib menaik secara lalai dan beroperasi pada tatasusunan itu sendiri.

Salin kod Kod adalah seperti berikut:

var test=[1,2,3,4,5];
test.reverse();
makluman(ujian);//5,4,3,2,1
var test2=[0,1,5,10,15];
test2.sort();
alert(test2);//0,1,10,15,5 Kaedah sort() akan memanggil kaedah toString() bagi setiap item tatasusunan dan membandingkan rentetan untuk menentukan pengisihan. Jadi pengisihan di sini ialah pengisihan rentetan

Kaedah sort() juga boleh lulus dalam fungsi perbandingan.

Fungsi perbandingan mengembalikan nombor negatif jika parameter pertama harus sebelum yang kedua, 0 jika dua parameter adalah sama, dan nombor positif jika parameter pertama harus selepas yang kedua.

Salin kod Kod adalah seperti berikut:

fungsi bandingkan(nilai1, nilai2){
Jika(nilai1          kembali -1;
} else if(value1>value2){
         kembali 1;
}lain{
           pulangkan 0; }

var test=[0,1,5,10,15];
test.sort(compare);
makluman(ujian);//0,1,5,10,15

Kaedah operasi: concat(), slice(), splice()

Kaedah concat() digunakan untuk menggabungkan dua atau lebih tatasusunan. Kaedah ini tidak mengubah suai tatasusunan sedia ada, tetapi hanya mengembalikan salinan tatasusunan bercantum. Kembalikan tatasusunan baharu.

Salin kod Kod adalah seperti berikut:

var a = [1,2,3];
alert(a.concat(4,5));//1,2,3,4,5
var arr = Tatasusunan baharu(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = Tatasusunan baharu(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
makluman(arr.concat(arr2));
//George,John,Thomas,James,Adrew,Martin
var arr = Tatasusunan baharu(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = Tatasusunan baharu(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
var arr3 = Tatasusunan baharu(2)
arr3[0] = "William"
arr3[1] = "Franklin"
makluman(arr.concat(arr2,arr3))
//George,John,Thomas,James,Adrew,Martin,William,Franklin

Kaedah slice() mengembalikan elemen terpilih daripada tatasusunan sedia ada. Mengembalikan tatasusunan baharu yang mengandungi elemen dalam arrayObject dari awal hingga akhir (eksklusif).

Salin kod Kod adalah seperti berikut:

var test =['a','b','c','d','e'];
var arr1=test.slice(1);
var arr2=test.slice(1,4);
makluman(arr1);//b,c,d,e
makluman(arr2);//b,c,d

Kaedah splice() menambah/mengalih keluar item ke/dari tatasusunan dan mengembalikan item yang dialih keluar. Beroperasi pada tatasusunan itu sendiri.

Parameter pertama: kedudukan permulaan, parameter kedua: bilangan pemintasan, parameter ketiga: elemen baharu yang akan ditambahkan.

Salin kod Kod adalah seperti berikut:

//Padam
var test=['a','b','c'];
var removed=test.splice(0,1)//Padam item pertama
makluman(ujian);//b,c
alert(removed);//a mengembalikan item yang dipadamkan
//Sisipkan
var test2=['a','b','c'];
var remove2=test2.splice(1,0,'d','e')//Sisipkan d,e dari kedudukan 1
makluman(ujian2);//a,d,e,b,c
alert(removed2)//Array kosong
//Ganti
var test3=['a','b','c'];
var removed3=test3.splice(1,1,'d','e')//Sisipkan d,e dari kedudukan 1
makluman(ujian3);//a,d,e,c
makluman(dialih keluar3)//b

Kaedah kedudukan: indexOf(), lastIndexOf()

ECMAScript5 menyediakan kaedah untuk menyokong penyemak imbas: IE9, Firefox 2, Safari 3, Opera 9.5, Chrome

Kaedah indexOf() mengembalikan kedudukan kejadian pertama nilai rentetan yang ditentukan dalam rentetan.

Kaedah

lastIndexOf() boleh mengembalikan kedudukan kejadian terakhir bagi nilai rentetan yang ditentukan, mencari dari belakang ke hadapan pada kedudukan yang ditentukan dalam rentetan.

Apabila terdapat satu parameter: ia mewakili nilai yang akan ditemui, dan kedudukan indeks dikembalikan (bermula dari 0 apabila terdapat dua parameter: parameter pertama mewakili kedudukan permulaan, dan parameter kedua mewakili nilai). untuk ditemui.

Salin kod Kod adalah seperti berikut:

nombor var=[1,2,3,4,5,4,3,2,1];
makluman(numbers.indexOf(4));//3
alert(numbers.lastIndexOf(4));//5

makluman(nombor.IndexOf(4,4));//5
alert(numbers.lastIndexOf(4,4));//3

Kaedah lelaran: every(), filter(), forEach(), map(), some()

ECMAScript5 menyediakan kaedah untuk menyokong penyemak imbas: IE9, Firefox 2, Safari 3, Opera 9.5, Chrome

every(): Jalankan fungsi yang diberikan pada setiap item dalam tatasusunan, dan kembalikan benar jika fungsi mengembalikan benar untuk setiap item.

filter(): Menjalankan fungsi yang diberikan pada setiap item dalam tatasusunan dan mengembalikan tatasusunan item yang fungsi akan kembalikan benar.

forEach(): Menjalankan fungsi yang diberikan pada setiap item dalam tatasusunan Kaedah ini tidak mempunyai nilai pulangan.

map(): Menjalankan fungsi yang diberikan pada setiap item dalam tatasusunan dan mengembalikan tatasusunan yang terdiri daripada hasil setiap panggilan fungsi.

some(): Menjalankan fungsi yang diberikan pada setiap item dalam tatasusunan dan mengembalikan benar jika fungsi mengembalikan benar untuk mana-mana item.

Tiada satu pun fungsi di atas akan mengubah suai nilai yang terkandung dalam tatasusunan.

Salin kod Kod adalah seperti berikut:

nombor var=[1,2,3,4,5,4,3,2,1];
//setiap()
var everyResult=numbers.every(function(item,index,array){
Kembalikan (item>2); })
alert(everyResult);//false
//beberapa()
var someResult=numbers.some(function(item,index,array){
Kembalikan (item>2); })
alert(someResult);//true
//penapis()
var filterResult=numbers.filter(function(item,index,array){
Kembalikan (item>2); })
alert(filterResult);//[3,4,5,4,3]

//peta()
var mapResult=numbers.map(function(item,index,array){ Kembalikan (item*2); })

alert(mapResult);//[2,4,6,8,10,8,6,4,2]

//forEach()
numbers.forEach(function(item,index,array){
//Lakukan operasi tanpa nilai pulangan

})





Kaedah gabungan: reduce(), reduceRight()

ECMAScript5 menyediakan kaedah untuk menyokong pelayar: IE9, Firefox 3, Safari 4, Opera 10.5, Chrome Kedua-dua kaedah berulang ke atas semua item tatasusunan dan kemudian membina nilai akhir yang dikembalikan. Kaedah reduce() bermula dari item pertama dalam tatasusunan, dan kaedah reduceRight() bermula dari penghujung tatasusunan.

Salin kod

Kod adalah seperti berikut: nilai var=[1,2,3,4,5]; var sum=value.reduce(function(prev,cur,index,array){
           sebelum ini;
});
makluman(jumlah);//15



Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.
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