Soalan:
Diberikan tatasusunan objek seperti:
var jsObjects = [ {a: 1, b: 2}, {a: 3, b: 4}, {a: 5, b: 6}, {a: 7, b: 8} ];
Bagaimanakah kita boleh mendapatkan semula objek ketiga ({a: 5, b: 6}) semata-mata berdasarkan nilai sifat tertentu, seperti b, tanpa menggunakan for...in loop?
Jawapan:
The Array. kaedah prototype.filter() menyediakan penyelesaian yang elegan untuk masalah ini. Ia membolehkan kami menapis tatasusunan berdasarkan syarat yang ditentukan dan mengembalikan tatasusunan baharu yang mengandungi hanya elemen yang sepadan.
Untuk menapis tatasusunan objek berdasarkan nilai sifat b, kita boleh menggunakan kod berikut :
var result = jsObjects.filter(obj => { return obj.b === 6 })
Dalam kod ini, fungsi penapis mengambil objek sebagai input dan menyemak sama ada sifat bnya bersamaan dengan 6. Jika syarat dipenuhi, objek dimasukkan dalam hasil tatasusunan.
Output:
Tatasusunan hasil akan mengandungi elemen berikut:
[{a: 5, b: 6}]
Kaedah ini secara berkesan mendapatkan semula objek yang dikehendaki dengan kod minimum dan tanpa perlu mengulangi tatasusunan.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Objek JavaScript dalam Array dengan Nilai Hartanya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!