Rumah  >  Artikel  >  hujung hadapan web  >  Pembelajaran tatasusunan JS untuk menentukan sama ada elemen tatasusunan memenuhi syarat yang diberikan

Pembelajaran tatasusunan JS untuk menentukan sama ada elemen tatasusunan memenuhi syarat yang diberikan

青灯夜游
青灯夜游asal
2021-08-26 17:21:016196semak imbas

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:

Pembelajaran tatasusunan JS untuk menentukan sama ada elemen tatasusunan memenuhi syarat yang diberikan

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:

  • value: Nilai elemen tatasusunan semasa, yang tidak boleh ditinggalkan.

  • indeks: Indeks berangka unsur tatasusunan semasa.

  • tatasusunan: objek tatasusunan yang mempunyai unsur semasa.

Mari kita lihat kod pelaksanaan:

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("都是偶数");
}
Ia boleh dilihat bahawa kerana elemen dalam tatasusunan adalah semua nombor genap, hasil output adalah :

Pembelajaran tatasusunan JS untuk menentukan sama ada elemen tatasusunan memenuhi syarat yang diberikan

Kami menukar elemen tatasusunan 12 kepada 11, dan hasil output ialah:

Pembelajaran tatasusunan JS untuk menentukan sama ada elemen tatasusunan memenuhi syarat yang diberikan

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 atas

array.every(function callbackfn(Value,index,array),thisValue)
Mari kita lihat kod pelaksanaan:

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("不全为偶数");
}
Hasil output ialah :

不全为偶数

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:

tutorial video javascript

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!

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