Dalam artikel sebelumnya "Pembelajaran Tatasusunan JS: Traverse Array dan Gandakan Nilai Elemen", kami memperkenalkan kaedah melintasi tatasusunan dan memproses setiap elemen dalam tatasusunan. Kali ini kita akan terus bercakap tentang traversal tatasusunan dan memperkenalkan beberapa kaedah untuk mengesan sama ada semua elemen tatasusunan memenuhi syarat yang ditetapkan Rakan yang memerlukan boleh mempelajarinya~
Jadi bagaimana untuk menilai sama ada elemen dalam tatasusunan memenuhi. syarat yang ditetapkan? Sebagai contoh, merentasi tatasusunan dan semak sama ada semua elemen dalam tatasusunan adalah nombor genap. Bagaimana untuk melakukan ini?
Mari perkenalkan 3 kaedah di bawah, bermula dengan gelung for yang biasa, dan kemudian memperkenalkan 2 fungsi terbina dalam - lihat cara menggunakannya untuk mengesan.
Kaedah 1: Gunakan untuk gelung
Idea pelaksanaan:
Gunakan untuk pernyataan untuk melintasi tatasusunan
for(var i=0;i<a.length;i++){ }
Periksa sama ada semua elemen dalam tatasusunan ialah nombor genap, dan sebaliknya: selagi satu bukan nombor genap, maka anda boleh mendapatkan "tidak semua genap nombor".
Jadi kod pelaksanaan boleh ditulis seperti ini:
var a = [2,4,5,6,8],b=0; for(var i=0;i<a.length;i++){ if (a[i] % 2 != 0) { b=0 break; }else{ b++; } } if (b) { console.log("都是偶数"); } else { console.log("不全为偶数"); }
Kod analisis:
Kami digunakan a Pembolehubah perantaraan b
diberi nilai 0. Jika elemen tatasusunan ialah nombor genap, b akan meningkat sebanyak 1 apabila elemen tatasusunan bukan nombor genap, nilai b akan menjadi 0 semula, dan gunakan "break;" untuk keluar dari gelung.
Pada masa ini, kita boleh menilai sama ada elemen dalam tatasusunan adalah semua nombor genap dengan menilai nilai pembolehubah b: jika b>0
, semuanya adalah nombor genap jika b=0
, mereka bukan semua nombor genap.
Oleh kerana elemen 5 dalam tatasusunan bukan nombor genap, hasil output ialah:
kaedah 2: Gunakan kaedah some()
kaedah some() untuk mengesan sama ada terdapat unsur yang memenuhi syarat dalam tatasusunan. Memikirkannya dari sudut lain, ia juga boleh digunakan untuk mengesan sama ada semua elemen dalam tatasusunan tidak memenuhi syarat yang ditentukan kembali benar. (Idea yang sama seperti kod di atas)
array.some(function callbackfn(Value,index,array),thisValue)
function callbackfn(value,index,array)
: Fungsi panggil balik, yang tidak boleh ditinggalkan sehingga tiga parameter:
function f(value, index, ar) { if (value % 2 != 0) { return true; } } var a = [2,4,6,8,10,12]; var b = a.some(f); if (b) { console.log("不全为偶数"); } else { console.log("都是偶数"); }
Kaedah 3: Gunakan kaedah every()
setiap kaedah() boleh mengesan sama ada semua elemen tatasusunan memenuhi syarat yang ditetapkan. Sintaks adalah seperti berikut. Untuk nilai parameter, sila rujuk kaedah some() di atasarray.every(function callbackfn(Value,index,array),thisValue)
function f(value, index, ar) { if (value % 2 == 0) { return true; }else { return false; } } var a = [2,4,6,8,10,11]; var b = a.every(f); if (b) { console.log("都是偶数"); } else { console.log("不全为偶数"); }
不全为偶数
Perbezaan antara setiap() dan beberapa() kaedah:
Setiap() kembali benar hanya apabila semua elemen dalam tatasusunan memenuhi syarat; selagi terdapat satu dalam tatasusunan Jika elemen memenuhi syarat, some() kembali benar. Baiklah, itu sahaja jika anda memerlukannya, anda boleh menonton:Atas ialah kandungan terperinci Pembelajaran tatasusunan JS untuk menentukan sama ada elemen tatasusunan memenuhi syarat yang diberikan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!