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
334 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!

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