Heim  >  Artikel  >  Web-Frontend  >  Wie finde ich mithilfe der Rekursion Objekte in verschachtelten Arrays anhand des Schlüssels?

Wie finde ich mithilfe der Rekursion Objekte in verschachtelten Arrays anhand des Schlüssels?

DDD
DDDOriginal
2024-11-19 17:55:02985Durchsuche

How to Find Objects in Nested Arrays by Key Using Recursion?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn