Dalam artikel sebelumnya "JS Array Learning: Mengembalikan Semua Elemen Yang Memenuhi Syarat Diberi", kami memperkenalkan kaedah menapis elemen tatasusunan untuk mendapatkan semua elemen yang memenuhi syarat yang diberikan. Kali ini kita terus bercakap tentang elemen penapisan dan memperkenalkan kaedah mendapatkan elemen pertama yang memenuhi syarat yang diberikan Rakan yang memerlukan boleh mempelajarinya~
Isi utama artikel hari ini ialah: merentasi tatasusunan dan mengesan. tatasusunan Sama ada elemen dalam tatasusunan memenuhi syarat yang ditentukan, kembalikan elemen tatasusunan pertama yang memenuhi syarat tersebut. Secara ringkasnya: ia menapis elemen tatasusunan mengikut keadaan yang ditentukan dan mengembalikan nilai elemen tatasusunan pertama keadaan simbolik.
Mari perkenalkan 3 kaedah di bawah, bermula dengan gelung biasa untuk, dan kemudian memperkenalkan 2 fungsi terbina dalam - lihat cara kedua-dua fungsi ini boleh menapis elemen tatasusunan dan mendapatkan elemen pertama yang memenuhi syarat .
Kaedah 1: Gunakan untuk gelung
Idea pelaksanaan: gunakan untuk pernyataan untuk melintasi tatasusunan dan tentukan sama ada elemen tatasusunan sepadan dalam setiap Keadaan gelung; apabila elemen pertama memenuhi syarat, ia akan dikeluarkan serta-merta, dan kemudian gunakan penyataan putus untuk keluar dari keseluruhan gelung.
Mari kita ketahui lebih lanjut mengenainya melalui contoh:
Contoh 1: Keluarkan elemen pertama dalam tatasusunan yang umurnya lebih besar daripada atau sama dengan 18
var ages = [3, 10, 18, 20]; for(var i=0;i<ages.length;i++){ if (ages[i] >= 18) { console.log(ages[i]); break; } }
Terdapat dua elemen yang lebih besar daripada atau sama dengan 18 dalam tatasusunan umur, 18 dan 20, tetapi 18 adalah sebelum 20, jadi elemen pertama yang ditambah ialah 18. Oleh itu hasil keluaran ialah:
Contoh 2: Output elemen bukan angka pertama dalam tatasusunan
var a = [1,"php中文网", 10, "red", 20,"22"]; for(var i=0;i<a.length;i++){ var re = /^[0-9]+.?[0-9]*/;//判断字符串是否为数字 //判断正整数/[1−9]+[0−9]∗]∗/ if (!re.test(a[i])) { console.log(a[i]); break; } }
Output hasil :
Kaedah 2: Gunakan kaedah find()
find() kaedah ialah Setiap elemen dalam tatasusunan memanggil fungsi sekali, menggunakan elemen penapis tambahan yang diberikan dalam fungsi panggil balik, dan mengembalikan elemen pertama yang lulus ujian.
Apabila elemen dalam tatasusunan mengembalikan benar apabila menguji keadaan, find() mengembalikan elemen yang memenuhi syarat dan fungsi pelaksanaan tidak akan dipanggil untuk nilai berikutnya.
Jika tiada unsur padanan, kembalikan tidak ditentukan
Sintaks:
array.find(function callbackfn(Value,index,array),thisValue)
function callbackfn(Value,index,array)
: panggilan balik function , tidak boleh ditinggalkan dan boleh menerima sehingga tiga parameter:
nilai: Nilai elemen tatasusunan semasa, tidak boleh ditinggalkan.
indeks: Indeks berangka unsur tatasusunan semasa.
tatasusunan: objek tatasusunan yang mempunyai unsur semasa.
Nilai pulangan: Mengembalikan nilai elemen tatasusunan pertama yang memenuhi syarat ujian, atau mengembalikan tidak ditentukan jika tiada yang memenuhi syarat.
Mari kita ketahui lebih lanjut mengenainya melalui contoh:
Contoh 1: Keluarkan elemen pertama dalam tatasusunan yang umurnya lebih besar daripada atau sama dengan 18
function checkAdult(age) { return age >= 18; } var ages = [3, 10, 18, 20]; var age=ages.find(checkAdult); console.log(age);
Hasil keluaran:
18
Contoh 2: Keluarkan elemen bukan angka pertama dalam tatasusunan
function checkAdult(num) { var re = /^[0-9]+.?[0-9]*/;//判断字符串是否为数字 //判断正整数/[1−9]+[0−9]∗]∗/ return !re.test(num); } var a = [1,"php中文网", 10, "red", 20,"22"]; console.log(a.find(checkAdult));
Hasil output:
Kaedah 3: Gunakan kaedah findIndex()
kaedah findIndex() untuk memanggil fungsi sekali untuk setiap elemen dalam tatasusunan, Gunakan elemen penapis yang diberikan untuk menambah dalam fungsi panggil balik, dan kembalikan kedudukan indeks elemen pertama yang lulus ujian.
Apabila elemen dalam tatasusunan mengembalikan benar apabila menguji keadaan, findIndex() mengembalikan kedudukan indeks elemen yang memenuhi syarat dan fungsi pelaksanaan tidak akan dipanggil untuk seterusnya nilai.
Jika tiada unsur yang sepadan, kembalikan -1
Sintaks:
array.findIndex(function callbackfn(Value,index,array),thisValue)
Sintaks kaedah ini dan find () adalah serupa, nilai parameter boleh diparameterkan dengan kaedah find().
Mari kita ketahui lebih lanjut mengenainya melalui contoh:
Contoh 1: Keluarkan elemen pertama dalam tatasusunan yang umurnya lebih besar daripada atau sama dengan 18
function checkAdult(age) { return age >= 18; } var ages = [3, 10, 18, 20]; var age=ages.findIndex(checkAdult); console.log(age); console.log(ages[age]);
Kaedah findIndex() boleh mengembalikan indeks elemen pertama yang memenuhi syarat Menurut indeks ini, nilai elemen boleh diperoleh menggunakan bentuk "数组名[索引]
". Oleh itu hasil keluaran ialah:
Contoh 2: Output elemen bukan angka pertama dalam tatasusunan
function checkAdult(num) { var re = /^[0-9]+.?[0-9]*/;//判断字符串是否为数字 //判断正整数/[1−9]+[0−9]∗]∗/ return !re.test(num); } var a = [1,"php中文网", 10, "red", 20,"22"]; var index=a.findIndex(checkAdult); console.log(index); console.log(a[index]);
Output hasil Untuk:
Baiklah, itu sahaja jika anda memerlukannya, anda boleh menonton: tutorial video javascript
.Atas ialah kandungan terperinci Pembelajaran tatasusunan JS mengembalikan elemen pertama yang memenuhi syarat yang diberikan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!