Heim > Web-Frontend > js-Tutorial > Wie finde ich ein bestimmtes Objekt in einem verschachtelten JavaScript-Objekt anhand der Bezeichnung?

Wie finde ich ein bestimmtes Objekt in einem verschachtelten JavaScript-Objekt anhand der Bezeichnung?

Linda Hamilton
Freigeben: 2024-11-03 21:13:29
Original
407 Leute haben es durchsucht

How to Find a Specific Object within  a Nested JavaScript Object by Label?

Iterieren verschachtelter JavaScript-Objekte: Identifizieren von Objekten anhand der Beschriftung

Um ein verschachteltes JavaScript-Objekt zu durchlaufen und ein Objekt mit einer bestimmten Beschriftung zu finden, führen Sie die folgenden Schritte aus:

Implementierung mit Rekursion

Um das verschachtelte Objekt rekursiv zu durchlaufen:

const iterate = (obj) => {
    Object.keys(obj).forEach(key => {
        console.log(`key: ${key}, value: ${obj[key]}`)

        if (typeof obj[key] === 'object' && obj[key] !== null) {
            iterate(obj[key])
        }
    })
}
iterate(obj); // obj is the main object to be traversed
Nach dem Login kopieren

Implementierung mit nicht-rekursivem Ansatz (Update 2023)

Für einen nicht-rekursiven Ansatz :

const iterate = (obj) => {
    const stack = [obj];
    while (stack?.length > 0) {
        const currentObj = stack.pop();
        Object.keys(currentObj).forEach(key => {
            console.log(`key: ${key}, value: ${currentObj[key]}`);
            if (typeof currentObj[key] === 'object' && currentObj[key] !== null) {
                stack.push(currentObj[key]);
            }
        });
    }
};
Nach dem Login kopieren

Beispielobjekt

Betrachten Sie das folgende verschachtelte Objekt:

var cars = {
    label: 'Autos',
    subs: [
        {
            label: 'SUVs',
            subs: []
        },
        {
            label: 'Trucks',
            subs: [
                {
                    label: '2 Wheel Drive',
                    subs: []
                },
                {
                    label: '4 Wheel Drive',
                    subs: [
                        {
                            label: 'Ford',
                            subs: []
                        },
                        {
                            label: 'Chevrolet',
                            subs: []
                        }
                    ]
                }
            ]
        },
        {
            label: 'Sedan',
            subs: []
        }
    ]
};
Nach dem Login kopieren

Verwenden des Bezeichners

Um das Objekt mit der Bezeichnung " abzurufen 4 Wheel Drive“ mit dem rekursiven Ansatz aufrufen, rufen Sie auf:

iterate(cars);
Nach dem Login kopieren
Nach dem Login kopieren

Um dasselbe Objekt mit dem nicht-rekursiven Ansatz abzurufen, rufen Sie auf:

iterate(cars);
Nach dem Login kopieren
Nach dem Login kopieren

Dadurch werden alle Schlüssel- Wertepaare im verschachtelten Objekt, einschließlich des gewünschten Objekts.

Das obige ist der detaillierte Inhalt vonWie finde ich ein bestimmtes Objekt in einem verschachtelten JavaScript-Objekt anhand der Bezeichnung?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage