Maison  >  Article  >  interface Web  >  Comment vérifier si un objet est vide en utilisant JavaScript ?

Comment vérifier si un objet est vide en utilisant JavaScript ?

王林
王林avant
2023-09-14 14:17:021395parcourir

如何使用 JavaScript 检查对象是否为空?

En JavaScript, l'objet est le type de données le plus important et nous en avons besoin la plupart du temps lors du développement d'applications à l'aide de frameworks JavaScript. Parfois, nous devons vérifier si un objet est vide et effectuer des opérations basées sur la valeur de l'objet.

Par exemple, vous obtenez des données de la base de données ; si elles ne sont pas trouvées, vous pouvez obtenir un objet vide. Lorsque vous effectuez certaines opérations ou exécutez certaines méthodes sur un objet nul, cela génère une erreur dans votre programme. Il est donc préférable de vérifier d'abord si l'objet est vide.

Nous apprendrons trois façons de vérifier si un objet est vide à l'aide de JavaScript.

Utilisez la méthode Object.keys()

Nous pouvons utiliser la méthode Object.keys() pour obtenir les clés d'un objet dans un seul tableau. Ensuite, nous pouvons vérifier la longueur du tableau en utilisant sa propriété length. Si la longueur du tableau de clés est 0, cela signifie que l'objet ne contient aucune clé et que l'objet est vide.

Grammaire

Les utilisateurs peuvent utiliser la méthode Object.keys() selon la syntaxe suivante pour vérifier si l'objet est vide.

let obj1Len = Object.keys(obj1).length;
if (obj1Len == 0) {
   
   // object is empty
} else {
   
   // object is not empty
} 

Dans la syntaxe ci-dessus, Object.keys() renvoie un tableau de toutes les clés de obj1, et nous utilisons la propriété length pour obtenir sa longueur. En utilisant la syntaxe ci-dessus, nous pouvons obtenir un tableau de toutes les clés en utilisant la méthode Object.keys(), et nous pouvons également vérifier la longueur du tableau en utilisant la propriété length

Exemple

Dans l'exemple ci-dessous, nous avons créé deux objets différents. obj1 contient certaines propriétés, tandis que obj2 est vide et ne contient aucune propriété.

Après cela, nous utilisons la méthode Object.keys() sur les deux objets pour obtenir le tableau de clés et vérifions la longueur du tableau pour nous assurer que l'objet est vide ou contient au moins une propriété.

<html>
<body>
   <h3>Using the<i> object.keys() </i>method to check whether the object contains some value or not</h3>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      let obj1 = {
         prop1: 10,
         prop2: "Hi",
      };
      let obj2 = {};
      
      // get the array of all keys using the Object.keys() method,
      
      // check the length of the array using the length property
      let obj1Len = Object.keys(obj1).length;
      if (obj1Len != 0) {
         output.innerHTML += "The value of obj1 is " + JSON.stringify(obj1) + "</br>";
      } else {
         output.innerHTML += "The obj1 object is empty! </br>";
      }
      let obj2Len = Object.keys(obj2).length;
      if (obj2Len != 0) {
         output.innerHTML += "The value of obj1 is " + obj2 + "</br>";
      } else {
         output.innerHTML += "The obj2 object is empty! </br>"; 
      }
   </script>
</body>
</html>

Utilisez une boucle for-in

La boucle

for-in nous permet de parcourir les clés d'un objet. Nous pouvons utiliser for-in pour parcourir chaque clé de l'objet. Ici, nous allons utiliser la boucle for-in et vérifier si elle parcourt l'objet une fois, si l'objet contient au moins une propriété et n'est pas vide.

Grammaire

Les utilisateurs peuvent suivre la syntaxe suivante pour utiliser la boucle for-in afin de vérifier si l'objet est vide.

function isObjectEmpty(object) {
   for (ele in object) {
      
      // object is not empty
      return;
   }
   
   // if control comes here, the object is empty
} 

Dans la syntaxe ci-dessus, si une seule itération de la boucle for se produit, cela signifie que nous nous sommes assurés que l'objet contient au moins une propriété. Par conséquent, nous terminons la fonction en utilisant le mot-clé return après la première itération de la boucle for-in.

Exemple

Dans l'exemple ci-dessous, nous avons créé deux objets différents. De plus, nous avons créé la fonction isObjectEmpty(), qui imprime différents messages selon que l'objet est vide ou non.

Nous avons appelé la fonction isObjectEmpty() deux fois avec des objets différents, et l'utilisateur peut observer sa sortie.

<html>
<body>
   <h3>Using the <i>for-in loop</i> to check whether the object contains some value.</h3>
   <p id="output"></p>
   <script>
      let output = document.getElementById("output");
      
      // creating the objects
      let obj1 = {
         prop1: false,
      };
      let obj2 = {};
      
      // creating a function to check object is empty or not
      function isObjectEmpty(object) {
         for (ele in object) {
            
            // if any single iteration occurs using a for-in loop, it means the object contains at least one property
            output.innerHTML += "The object " + JSON.stringify(object) + " is not empty! </br>";
            return;
         }
         output.innerHTML += "The object " + JSON.stringify(object) + " is empty! </br>";
      }
      
      // calling the isObjectEmpty() function by passing different objects as an argument
      isObjectEmpty(obj1);
      isObjectEmpty(obj2);
   </script> 
</body>
</html>

Utilisez la méthode JSON.stringify()

La méthode

JSON.stringify() convertit n'importe quelle valeur en chaîne que nous passons comme paramètre de la méthode. La syntaxe d'un objet vide est similaire à {} et la méthode stringify() renvoie toujours "{}" pour un objet vide.

Par conséquent, nous pouvons comparer la valeur de retour de la méthode stringify() avec "{}" pour déterminer si l'objet est vide.

Grammaire

Les utilisateurs peuvent utiliser la méthode JSON.stringify() selon la syntaxe suivante pour vérifier si l'objet est vide.

if(JSON.stringify(education) == "{}") {
   
   // object is empty
} else {
   
   // object is not empty
}

Dans la syntaxe ci-dessus, si l'objet education est vide, la méthode JSON.stringify() retournera "{}".

Exemple

Dans l'exemple ci-dessous, nous créons un objet éducatif avec certaines propriétés. Par conséquent, la méthode JSON.stringify() ne renverra pas "{}", mais renverra la valeur de chaîne de l'objet éducatif. Par conséquent, l’utilisateur peut observer le résultat montrant que l’objet éducatif n’est pas vide.

<html>
<body> 
   <h3> Using the<i> JSON.stringify() method </i> to check whether object contains some value or not.</h3>
   <p id="output"></p>
   <script>
      let output = document.getElementById("output");
      
      // creating the objects
      let education = {
         totalYears: 12,
         school: "Online",
      };
      
      // convert object to string,
      
      // if object is empty, the JSON.stringify() method will return "{}"
      if (JSON.stringify(education) == "{}") {
         output.innerHTML += "Object is empty!";
      } else {
         output.innerHTML += "Education object is not empty!";
      }
   </script>
</body>
</html>

Nous avons appris trois façons de vérifier si un objet est vide. Les première et troisième méthodes ne nécessitent qu'une seule ligne de code ; l'utilisateur doit écrire 3 ou 4 lignes pour utiliser la deuxième ligne. Il est donc préférable d'utiliser l'une des première et troisième méthodes pour une meilleure lisibilité du code.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer