Maison >interface Web >js tutoriel >Comment puis-je accéder aux propriétés d'objets JavaScript imbriqués à l'aide d'une chaîne de notation par points ?

Comment puis-je accéder aux propriétés d'objets JavaScript imbriqués à l'aide d'une chaîne de notation par points ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-28 22:04:11808parcourir

How Can I Access Nested JavaScript Object Properties Using a Dot Notation String?

Accès aux propriétés d'objets imbriqués à l'aide de chaînes de notation par points en JavaScript

Lors de la manipulation d'objets, il est souvent nécessaire d'accéder à des propriétés profondément imbriquées. Bien que la notation par points et la notation par parenthèses puissent y parvenir, elles nécessitent de spécifier chaque niveau d'imbrication individuellement. Cela peut devenir fastidieux et sujet aux erreurs pour les objets complexes.

Une solution pratique consiste à utiliser une chaîne de notation par points pour accéder directement aux propriétés de l'objet enfant. Imaginez un objet avec la structure suivante :

const r = { a: 1, b: { b1: 11, b2: 99 } };

Pour accéder à la valeur 99 en utilisant la notation par points, vous écrivez généralement :

r.b.b2;

Cependant, que se passe-t-il si vous souhaitez accéder dynamiquement au propriété utilisant une chaîne variable, telle que :

const s = "b.b2";

Dans ce scénario, une notation par points simple (par exemple, r.s) ou une notation par crochets (r[s]) ne fonctionnera pas.

Fonction personnalisée pour la récupération de propriété

Une approche consiste à créer une fonction personnalisée pour diviser la chaîne par le caractère point. et accédez de manière itérative aux propriétés :

function getDescendantProp(obj, desc) {
    const arr = desc.split(".");
    while (arr.length && (obj = obj[arr.shift()]));
    return obj;
}

console.log(getDescendantProp(r, "b.b2")); // 99

Cette fonction simplifie l'accès aux propriétés imbriquées à l'aide d'une représentation sous forme de chaîne. Vous pouvez également l'étendre pour gérer l'accès à l'index du tableau en modifiant le caractère divisé en conséquence.

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!

Déclaration:
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