Maison > interface Web > js tutoriel > le corps du texte

Comment rechercher des objets imbriqués par clé en JavaScript ?

DDD
Libérer: 2024-11-16 08:52:03
original
156 Les gens l'ont consulté

How to Find Nested Objects by Key in JavaScript?

Rechercher des objets imbriqués par clé

Parcourir des tableaux et des objets profondément imbriqués pour trouver une valeur spécifique peut être une tâche difficile. Considérez le scénario dans lequel vous disposez d'une structure de données complexe comme celle fournie. Pour localiser un objet avec une propriété 'id' spécifique imbriquée à plusieurs niveaux, vous pouvez utiliser la récursivité.

Solution récursive

La fonction fournie, 'getObject', prend un objet en entrée et parcourt ses propriétés. Si une propriété est un tableau, la fonction recherche récursivement chaque élément. Sinon, la fonction vérifie si la propriété correspond à « l'identifiant » souhaité et renvoie l'objet si une correspondance est trouvée.

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;
}
Copier après la connexion

Cette solution parcourt de manière récursive la structure de données imbriquée, recherchant l'objet avec le 'spécifié'. propriété id. Il gère à la fois les tableaux de propriétés et les objets, garantissant une recherche approfondie.

Exemple mis à jour

Dans le jsFiddle mis à jour (http://jsfiddle.net/FM3qu/7/ ), la fonction fournie peut être utilisée pour localiser l'objet avec 'id' défini sur 1 dans la structure de données complexe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal