Mencari Objek Bersarang dengan Kekunci
Menavigasi tatasusunan dan objek bersarang dalam untuk mencari nilai tertentu boleh menjadi tugas yang mencabar. Pertimbangkan senario di mana anda mempunyai struktur data yang kompleks seperti yang disediakan. Untuk mencari objek dengan sifat 'id' tertentu yang bersarang dalam beberapa tahap, anda boleh menggunakan rekursi.
Penyelesaian Rekursif
Fungsi yang disediakan, 'getObject', memerlukan objek sebagai input dan berulang ke atas sifatnya. Jika harta ialah tatasusunan, fungsi itu mencari secara rekursif setiap elemen. Jika tidak, fungsi menyemak sama ada harta itu ialah 'id' yang dikehendaki dan mengembalikan objek jika padanan ditemui.
function getObject(theObject) { var result = null; if (theObject instanceof Array) { for (var i = 0; i < theObject.length; i++) { result = getObject(theObject[i]); if (result) { break; } } } else { for (var prop in theObject) { console.log(prop + ': ' + theObject[prop]); if (prop == 'id') { if (theObject[prop] == 1) { return theObject; } } if (theObject[prop] instanceof Object || theObject[prop] instanceof Array) { result = getObject(theObject[prop]); if (result) { break; } } } } return result; }
Penyelesaian ini secara rekursif merentasi struktur data bersarang, mencari objek dengan ' yang ditentukan id' harta. Ia mengendalikan kedua-dua tatasusunan hartanah dan objek, memastikan carian yang teliti.
Contoh Kemas Kini
Dalam jsFiddle yang dikemas kini (http://jsfiddle.net/FM3qu/7/ ), fungsi yang disediakan boleh digunakan untuk mencari objek dengan 'id' ditetapkan kepada 1 dalam struktur data kompleks.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Objek Bersarang dengan Kunci dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!