Maison >interface Web >js tutoriel >Comment vérifier si un objet est vide en utilisant 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.
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.
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
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>
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.
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.
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>
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.
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 "{}".
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!