Soalan: Bagaimanakah cara saya menapis tatasusunan objek berdasarkan nilai bersarang?
Input:
<code class="javascript">let arrayOfElements = [ { "name": "a", "subElements": [ {"surname": 1}, {"surname": 2} ] }, { "name": "b", "subElements": [ {"surname": 3}, {"surname": 1} ] }, { "name": "c", "subElements": [ {"surname": 2}, {"surname": 5} ] } ];</code>
Output yang Diingini:
<code class="javascript">let filteredArray = [ { "name": "a", "subElements": [ {"surname": 1} ] }, { "name": "b", "subElements": [ {"surname": 1} ] } ];</code>
Percubaan Awal:
<code class="javascript">let filteredArray = arrayOfElements.filter((element) => element.subElements.some((subElement) => subElement.surname === 1));</code>
Isu: Pendekatan ini mengembalikan objek dengan semua nama keluarga dan bukannya memotongnya.
Penyelesaian:
<code class="javascript">arrayOfElements.map((element) => { return {...element, subElements: element.subElements.filter((subElement) => subElement.surname === 1)} })</code>
Penjelasan:
Atas ialah kandungan terperinci Bagaimana untuk Menapis Tatasusunan Objek dengan Tatasusunan Berdasarkan Nilai Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!