Dalam senario di mana anda mempunyai tatasusunan yang mengandungi objek, mengenal pasti sama ada objek dengan nilai atribut tertentu wujud boleh menjadi penting. Untuk mengelakkan gelung eksplisit, terutamanya apabila berurusan dengan set data yang besar, terdapat kaedah yang cekap dalam JavaScript.
Satu pendekatan mudah ialah memanfaatkan beberapa kaedah tatasusunan. Ia membolehkan anda menentukan syarat untuk menyemak setiap elemen sehingga syarat dipenuhi. Dalam kes ini, ia memeriksa sama ada mana-mana objek dalam tatasusunan mempunyai nilai atribut yang dikehendaki. Jika padanan ditemui, beberapa kaedah akan kembali benar, menunjukkan kehadiran objek yang dicari.
if (vendors.some(e => e.Name === 'Magenic')) { // We found at least one matching object! }
Sebagai alternatif, anda boleh menggunakan kaedah cari untuk mendapatkan objek padanan itu sendiri dan bukannya hanya boolean hasil.
if (vendors.find(e => e.Name === 'Magenic')) { // Usually the same result, but find returns the actual element }
Jika anda berminat untuk mendapatkan kedudukan elemen padanan dalam tatasusunan, kaedah findIndex ialah berguna.
const i = vendors.findIndex(e => e.Name === 'Magenic'); if (i > -1) { // We know that at least one matching object has been found at index i }
Untuk mendapatkan semula semua objek yang sepadan, gunakan kaedah penapis. Ia mengembalikan tatasusunan dengan semua elemen yang memenuhi syarat yang ditentukan.
if (vendors.filter(e => e.Name === 'Magenic').length > 0) { // The same result, but filter returns all matching objects }
Untuk keserasian dengan penyemak imbas lama yang tidak mempunyai sokongan untuk fungsi anak panah, sintaks berikut boleh digunakan:
if (vendors.filter(function(e) { return e.Name === 'Magenic'; }).length > 0) { // The same result with function expressions for compatibility }
Oleh memanfaatkan kaedah tatasusunan ini, anda boleh mencari objek dengan nilai atribut khusus dalam tatasusunan besar dengan cekap tanpa memerlukan gelung.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Objek dengan Atribut Khusus dengan Cekap dalam Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!