Heim > Web-Frontend > js-Tutorial > Wie finde ich verschachtelte Objekte anhand des Schlüssels in JavaScript?

Wie finde ich verschachtelte Objekte anhand des Schlüssels in JavaScript?

DDD
Freigeben: 2024-11-16 08:52:03
Original
222 Leute haben es durchsucht

How to Find Nested Objects by Key in JavaScript?

Verschachtelte Objekte anhand des Schlüssels finden

Das Navigieren in tief verschachtelten Arrays und Objekten, um einen bestimmten Wert zu finden, kann eine herausfordernde Aufgabe sein. Stellen Sie sich das Szenario vor, in dem Sie über eine komplexe Datenstruktur wie die bereitgestellte verfügen. Um ein Objekt mit einer bestimmten „id“-Eigenschaft zu finden, die mehrere Ebenen tief verschachtelt ist, können Sie die Rekursion verwenden.

Rekursive Lösung

Die bereitgestellte Funktion „getObject“ benötigt ein Objekt als Eingabe und iteriert über seine Eigenschaften. Wenn eine Eigenschaft ein Array ist, durchsucht die Funktion jedes Element rekursiv. Andernfalls prüft die Funktion, ob die Eigenschaft die gewünschte „ID“ ist, und gibt das Objekt zurück, wenn eine Übereinstimmung gefunden wird.

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;
}
Nach dem Login kopieren

Diese Lösung durchläuft rekursiv die verschachtelte Datenstruktur und sucht nach dem Objekt mit der angegebenen „ID“. id'-Eigenschaft. Es verarbeitet sowohl Eigenschafts-Arrays als auch Objekte und gewährleistet so eine gründliche Suche.

Aktualisiertes Beispiel

Im aktualisierten jsFiddle (http://jsfiddle.net/FM3qu/7/ ) kann die bereitgestellte Funktion verwendet werden, um das Objekt mit der auf 1 gesetzten „id“ in der komplexen Datenstruktur zu lokalisieren.

Das obige ist der detaillierte Inhalt vonWie finde ich verschachtelte Objekte anhand des Schlüssels in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage