Maison > interface Web > js tutoriel > Comment puis-je accéder à des valeurs d'objet profondément imbriquées à l'aide d'un chemin de chaîne ?

Comment puis-je accéder à des valeurs d'objet profondément imbriquées à l'aide d'un chemin de chaîne ?

Patricia Arquette
Libérer: 2024-10-24 19:24:02
original
482 Les gens l'ont consulté

How can I Access Deeply Nested Object Values Using a String Path?

Acquérir des valeurs d'objet profondément imbriquées via un chemin de chaîne

L'accès aux propriétés d'objet profondément imbriquées peut être fastidieux, en particulier lorsque vous utilisez des chemins de chaîne pour parcourir l'objet. Cette question cherche une solution pour récupérer les valeurs des objets en fonction d'un chemin de chaîne fourni.

Solution proposée

L'approche suggérée utilise la fonction suivante, deep_value, qui parcourt de manière itérative les propriétés de l'objet spécifiées dans le path string :

<code class="javascript">var deep_value = function(obj, path) {
  for (var i = 0, path = path.split('.'), len = path.length; i < len; i++) {
    obj = obj[path[i]];
  }
  return obj;
};</code>
Copier après la connexion

Répartition

  • L'opération split('.') convertit le chemin de la chaîne en un tableau de noms de propriétés.
  • Une boucle est utilisé pour parcourir l'objet, en accédant à chaque propriété dans l'ordre.
  • La dernière itération renvoie la valeur imbriquée finale.

Exemple

Considérons l'objet suivant :

var obj = {
  foo: { bar: 'baz' }
};
Copier après la connexion

Pour accéder à la valeur de obj.foo.bar en utilisant le chemin de chaîne "foo.bar", la fonction deep_value peut être invoquée comme suit :

deep_value(obj, "foo.bar"); // returns "baz"
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal