Vérifier si un objet a une clé

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 la manière de vérifier si une valeur cible existe dans un objet JSON à l'aide de JavaScript. Nous utiliserons la fonction hasKey() qui nous permet de vérifier séquentiellement les clés de l'objet pour déterminer si la valeur cible est présente. Ce laboratoire vous permettra de mieux comprendre comment travailler avec les objets JSON en JavaScript.


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/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28520{{"Vérifier si un objet a une clé"}} javascript/data_types -.-> lab-28520{{"Vérifier si un objet a une clé"}} javascript/arith_ops -.-> lab-28520{{"Vérifier si un objet a une clé"}} javascript/comp_ops -.-> lab-28520{{"Vérifier si un objet a une clé"}} javascript/cond_stmts -.-> lab-28520{{"Vérifier si un objet a une clé"}} javascript/array_methods -.-> lab-28520{{"Vérifier si un objet a une clé"}} javascript/destr_assign -.-> lab-28520{{"Vérifier si un objet a une clé"}} end

Fonction JavaScript pour Vérifier si un Objet a une Clé

Pour vérifier si une valeur cible existe dans un objet JavaScript, utilisez la fonction hasKey.

La fonction prend deux arguments : obj, l'objet JSON dans lequel chercher, et keys, un tableau de clés à vérifier. Voici les étapes pour vérifier si l'objet a la clé (ou les clés) donnée(s) :

  1. Vérifiez si le tableau keys n'est pas vide. Si c'est le cas, renvoyez false.
  2. Utilisez la méthode Array.prototype.every() pour itérer sur le tableau keys et vérifier séquentiellement chaque clé jusqu'à la profondeur interne de obj.
  3. Utilisez la méthode Object.prototype.hasOwnProperty() pour vérifier si obj n'a pas la clé actuelle ou n'est pas un objet. Si l'une de ces conditions est vraie, arrêtez la propagation et renvoyez false.
  4. Sinon, affectez la valeur de la clé à obj pour l'utiliser dans l'itération suivante.
  5. Si le tableau keys a été entièrement itéré avec succès, renvoyez true.

Voici le code pour la fonction hasKey :

const hasKey = (obj, keys) => {
  return (
    keys.length > 0 &&
    keys.every((key) => {
      if (typeof obj !== "object" || !obj.hasOwnProperty(key)) return false;
      obj = obj[key];
      return true;
    })
  );
};

Voici quelques exemples d'utilisation de la fonction hasKey :

let obj = {
  a: 1,
  b: { c: 4 },
  "b.d": 5
};

hasKey(obj, ["a"]); // true
hasKey(obj, ["b"]); // true
hasKey(obj, ["b", "c"]); // true
hasKey(obj, ["b.d"]); // true
hasKey(obj, ["d"]); // false
hasKey(obj, ["c"]); // false
hasKey(obj, ["b", "f"]); // false

Sommaire

Félicitations ! Vous avez terminé le laboratoire Vérifier si un objet a une clé. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.