Rumah > Artikel > hujung hadapan web > Bagaimana untuk menggunakan tatasusunan yang mengandungi objek dan semak objek berdasarkan sifatnya?
Tugasnya adalah untuk menyemak sama ada tatasusunan mengandungi nilai tertentu. Selain itu, kita perlu menyemak sama ada tatasusunan mengandungi objek tertentu dengan sifat tertentu.
Tutorial ini akan menggunakan kaedah array.includes() dan array.some() untuk menyemak sama ada tatasusunan mengandungi nilai atau objek dengan sifat tertentu.
array.includes() membolehkan kami menyemak sama ada tatasusunan mengandungi sebarang nilai. Secara ringkas, kita boleh mencari nilai dalam tatasusunan menggunakan kaedah array.includes().
Pengguna boleh mencari nilai dalam tatasusunan menggunakan kaedah tatasusunan.includes() mengikut sintaks berikut.
array.includes(value, startIndex);
Dalam sintaks di atas, tatasusunan mengandungi pelbagai elemen seperti rentetan, nombor dan nilai boolean.
Nilai - Ini ialah nilai untuk dicari dalam tatasusunan.
startIndex - Ini ialah parameter pilihan yang memulakan carian dari startIndex.
Ia mengembalikan nilai boolean berdasarkan sama ada nilai itu wujud dalam tatasusunan.
Dalam contoh di bawah, kami menggunakan kaedah array.includes() tetapi tidak melepasi startIndex, parameter pilihan. Jadi ia akan mencari dalam tatasusunan bermula dari indeks ke-0. Dalam output, pengguna boleh melihat bahawa kaedah array.includes() mengembalikan benar untuk nilai rentetan "hello" dan palsu untuk nilai rentetan "abcd".
<html> <body> <h2>Using the <i>array.includes()</i> method to check for the existence of the value in the array.</h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); let array = ["Hello", 10, "Hi", true, "Welcome", false, 30, 50, 70, false]; let result = array.includes("Hello"); output.innerHTML += "Is Hello exist in the array? " + result + "<br/>"; result = array.includes("abcd"); output.innerHTML += "Is abcd exist in the array? " + result + "<br/>"; </script> </body> </html>
Dalam kaedah di atas, kami belajar untuk menyemak sama ada nilai wujud dalam objek tatasusunan. Sekarang, kita akan belajar untuk menyemak sama ada objek dengan sifat tertentu wujud dalam tatasusunan.
array.some() menyemak sama ada sekurang-kurangnya satu elemen dalam tatasusunan memenuhi syarat khusus yang dihantar kepada fungsi panggil balik. Jadi, dalam fungsi panggil balik, kami akan menyemak sama ada sebarang objek mengandungi sifat tertentu.
Pengguna boleh menggunakan kaedah tatasusunan.some() mengikut sintaks di bawah untuk menyemak sama ada objek dengan sifat tertentu wujud dalam tatasusunan.
let result = objects.some((object) => property in object);
Dalam sintaks di atas, kami menggunakan operator "dalam" untuk menyemak sama ada sifat tertentu wujud dalam mana-mana objek semua objek dalam tatasusunan.
Dalam contoh di bawah, kami telah mencipta pelbagai objek, setiap satu mengandungi pelbagai sifat dan nilai. Selain itu, kami telah menggunakan kaedah array.some() dan menggunakan operator "in" untuk menyemak sama ada terdapat objek dalam tatasusunan yang mengandungi sifat yang diluluskan sebagai hujah fungsi checkProperties(). Selain itu, kami memanggil fungsi checkProperties() pada acara klik butang dengan nilai parameter yang berbeza.
Dalam output, kita mendapat benar jika mana-mana objek tunggal mengandungi sifat tertentu palsu;
<html> <body> <h2>Using the <i>array.some()</i> method to check for the existence of the object with a particular property.</h2> <div id = "output"> </div> <button onclick = "checkProperties('salary'); checkProperties('id')"> Check for Object </button> <script> let output = document.getElementById('output'); function checkProperties(property) { let objects = [ { prop1: "value1", prop2: "Value2", num: 30 }, { name: "name", prop3: "Value3", salary: 40860 }, { age: 20, prop2: "Value2", number: 60 }, { prop1: "value10", prop2: "Value30", num: 90 }, { prop1: "value20", prop2: "Value40", num: 100 } ]; let isProperty = objects.some((object) => property in object); output.innerHTML += "Is objects array contain any object with " + property + " property? " + isProperty + "<br/>"; } </script> </body> </html>
Dalam contoh di bawah, kami telah menggunakan kaedah array.reduce() pada tatasusunan objek. Dalam fungsi panggil balik kaedah reduce(), kami mengakses harta gaji objek dan menyemak sama ada ia wujud dalam objek dengan membandingkan nilainya dengan nilai rentetan "undefined".
Jadi inilah cara lain untuk mencari sebarang objek yang mengandungi sifat tertentu menggunakan kaedah some().
<html> <body> <h2>Using the <i>array.some()</i> method to check for the existence of the object with a particular property.</h2> <div id = "output"> </div> <button onclick = "checkProperties()"> Check for Object </button> <script> let output = document.getElementById('output'); function checkProperties() { let objects = [ { color: "blue", id: "232d", num: 30 }, { name: "name", prop3: "534", maximum: 10 }, { age: 20, id: "dred", numValue: 90 }, { color: "blue", id: "87gd", minimum: 0 }, { color: "green", id: "56fghfh", num: 100 } ]; let isSalary = objects.some((object) => { object.salary != "undefined" }); output.innerHTML += "Is objects array contains any object with " + "salary" + "property? " + isSalary + "<br/>"; } </script> </body> </html>
Kami menggunakan kaedah array.includes() dan array.some() untuk mencari nilai dan objek dalam tatasusunan. Walau bagaimanapun, pengguna juga boleh menggunakan kaedah penapis() dalam JavaScript untuk menyemak sama ada tatasusunan mengandungi sekurang-kurangnya satu objek dengan sifat tertentu.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan tatasusunan yang mengandungi objek dan semak objek berdasarkan sifatnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!