Obtenir une valeur imbriquée dans un objet

JavaScriptJavaScriptBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons explorer comment obtenir des valeurs imbriquées dans des objets JavaScript en utilisant une fonction appelée dig. Cette fonction peut être utilisée pour extraire une valeur spécifique d'un objet imbriqué complexe, facilitant ainsi l'accès aux informations nécessaires. Grâce à ce laboratoire, vous allez apprendre à utiliser l'opérateur in et la méthode reduce() pour parcourir des objets imbriqués et trouver la valeur cible.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28357{{"Obtenir une valeur imbriquée dans un objet"}} javascript/data_types -.-> lab-28357{{"Obtenir une valeur imbriquée dans un objet"}} javascript/arith_ops -.-> lab-28357{{"Obtenir une valeur imbriquée dans un objet"}} javascript/comp_ops -.-> lab-28357{{"Obtenir une valeur imbriquée dans un objet"}} javascript/cond_stmts -.-> lab-28357{{"Obtenir une valeur imbriquée dans un objet"}} javascript/array_methods -.-> lab-28357{{"Obtenir une valeur imbriquée dans un objet"}} javascript/higher_funcs -.-> lab-28357{{"Obtenir une valeur imbriquée dans un objet"}} end

Comment obtenir une valeur imbriquée dans un objet JSON

Pour extraire une valeur cible d'un objet JSON imbriqué sur la base d'une clé donnée, suivez ces étapes :

  • Ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer la programmation.
  • Vérifiez si la cible existe dans l'obj en utilisant l'opérateur in.
  • Si la cible est trouvée, renvoyez la valeur correspondante dans l'obj.
  • Si la cible n'est pas trouvée, utilisez Object.values() et Array.prototype.reduce() pour appeler récursivement la fonction dig sur chaque objet imbriqué jusqu'à ce que la première paire clé/valeur correspondante soit trouvée.

Voici le code de la fonction dig :

const dig = (obj, target) =>
  target in obj
    ? obj[target]
    : Object.values(obj).reduce((acc, val) => {
        if (acc !== undefined) return acc;
        if (typeof val === "object") return dig(val, target);
      }, undefined);

Pour utiliser la fonction dig, créez d'abord un objet JSON avec des niveaux imbriqués, comme ceci :

const data = {
  niveau1: {
    niveau2: {
      niveau3: "quelques données"
    }
  }
};

Ensuite, appelez la fonction dig avec l'objet JSON et la clé souhaitée :

dig(data, "niveau3"); // 'quelques données'
dig(data, "niveau4"); // undefined

Ces exemples renverront la valeur de la clé niveau3 dans l'objet data et undefined pour la clé inexistante niveau4.

Sommaire

Félicitations ! Vous avez terminé le laboratoire Obtenir une valeur imbriquée dans un objet. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.