Heim > Artikel > Web-Frontend > Wie finde ich mithilfe der Rekursion Objekte in verschachtelten Arrays anhand des Schlüssels?
Objekte in verschachtelten Arrays nach Schlüssel suchen
Beim Arbeiten mit komplexen verschachtelten Datenstrukturen ist es oft notwendig, ein bestimmtes Objekt anhand eines Schlüssels zu lokalisieren Schlüssel. Dies kann eine Herausforderung sein, insbesondere wenn die Daten tief verschachtelt sind.
Rekursion zur Rettung
Rekursion ermöglicht es uns, durch verschachtelte Daten zu navigieren, indem wir sie in kleinere, überschaubare Stücke. Hier ist eine rekursive Funktion, die ein Objekt mit einem bestimmten Schlüssel finden kann:
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) { 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; }
Verwendungsbeispiel
Lassen Sie uns diese Funktion verwenden, um das Objekt zu finden, bei dem die ID 1 in ist das Beispiel für ein verschachteltes Array:
var myArray = [{ 'title': "some title", 'channel_id': '123we', 'options': [{ 'channel_id': 'abc', 'image': 'http://asdasd.com/all-inclusive-block-img.jpg', 'title': 'All-Inclusive', 'options': [{ 'channel_id': 'dsa2', 'title': 'Some Recommends', 'options': [{ 'image': 'http://www.asdasd.com', 'title': 'Sandals', 'id': '1', 'content': { // ... } }] }] }] }]; var result = getObject(myArray); console.log(result); // prints the found object
Das obige ist der detaillierte Inhalt vonWie finde ich mithilfe der Rekursion Objekte in verschachtelten Arrays anhand des Schlüssels?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!