Maison > interface Web > js tutoriel > Comment récupérer des valeurs à partir d'objets profondément imbriqués à l'aide de chemins de chaînes ?

Comment récupérer des valeurs à partir d'objets profondément imbriqués à l'aide de chemins de chaînes ?

Barbara Streisand
Libérer: 2024-10-24 23:30:30
original
373 Les gens l'ont consulté

How to Retrieve Values from Deeply Nested Objects Using String Paths?

Récupération de valeurs d'objets profondément imbriquées avec un chemin de chaîne

Problème :

Recherche d'une fonction qui récupère des valeurs de valeurs profondément imbriquées objets en parcourant un chemin de chaîne représentant la structure imbriquée. Par exemple :

<code class="javascript">var obj = {
  foo: { bar: 'baz' }
};
// Retrieve obj.foo.bar's value with the string "foo.bar"
getValue(obj, "foo.bar");</code>
Copier après la connexion

Solution :

La solution suivante parcourt efficacement les objets imbriqués à l'aide du chemin de chaîne fourni :

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

Explication :

  1. Le chemin de la chaîne est divisé en un tableau de clés d'objet (dans notre exemple, ["foo", "bar"]).
  2. Nous itérons à travers le tableau, en récupérant la valeur associée à chaque clé.
  3. Le résultat final représente la valeur au chemin fourni.

Exemple :

<code class="javascript">var obj = {
  foo: { bar: 'baz' }
};
console.log(getValue(obj, "foo.bar")); // Output: "baz"</code>
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!

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