Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menapis Tatasusunan JavaScript Objek Rumah Berdasarkan Atribut?
Masalah:
Anda mempunyai pelbagai objek rumah hartanah. Anda perlu menapis tatasusunan untuk mengembalikan subset objek "rumah" berdasarkan kriteria tertentu, seperti harga, rakaman persegi, bilangan bilik tidur dan bilangan bilik mandi.
Penyelesaian:
Untuk menapis tatasusunan objek berdasarkan atribut, anda boleh menggunakan kaedah Array.prototype.filter. Kaedah ini mengambil fungsi panggil balik sebagai hujah, yang digunakan untuk menentukan sama ada setiap elemen dalam tatasusunan perlu disertakan dalam tatasusunan yang ditapis.
Dalam kes anda, anda boleh mencipta fungsi panggil balik yang menyemak sama ada setiap rumah objek memenuhi semua kriteria anda. Berikut ialah contoh:
let newArray = homes.filter(function (el) { return el.price <= 1000 && el.sqft >= 500 && el.num_of_beds >= 2 && el.num_of_baths >= 2.5; });
Fungsi panggil balik ini menyemak sama ada atribut harga kurang daripada atau sama dengan 1000, jika atribut sqft lebih besar daripada atau sama dengan 500, jika atribut num_of_beds lebih besar daripada atau sama hingga 2, dan jika atribut num_of_baths lebih besar daripada atau sama dengan 2.5. Jika semua syarat ini dipenuhi, elemen tersebut disertakan dalam tatasusunan yang ditapis.
Perhatikan bahawa sintaks tidak semestinya sama seperti contoh yang anda berikan. Contoh di atas menggunakan operator && untuk menggabungkan syarat, tetapi anda juga boleh menggunakan operator &. Selain itu, anda boleh menggunakan fungsi anak panah untuk memudahkan fungsi panggil balik.
Berikut ialah contoh langsung:
<script> var obj = { 'homes': [{ "home_id": "1", "price": "925", "sqft": "1100", "num_of_beds": "2", "num_of_baths": "2.0", }, { "home_id": "2", "price": "1425", "sqft": "1900", "num_of_beds": "4", "num_of_baths": "2.5", }, // ... (more homes) ... ] }; var newArray = obj.homes.filter(function (el) { return el.price <= 1000 && el.sqft >= 500 && el.num_of_beds >= 2 && el.num_of_baths >= 2.5; }); console.log(newArray); </script>
Atas ialah kandungan terperinci Bagaimana untuk Menapis Tatasusunan JavaScript Objek Rumah Berdasarkan Atribut?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!