In JavaScript ist Object der wichtigste Datentyp und wir benötigen ihn die meiste Zeit bei der Entwicklung von Anwendungen mit JavaScript-Frameworks. Manchmal müssen wir prüfen, ob ein Objekt leer ist, und Operationen basierend auf dem Objektwert ausführen.
Zum Beispiel erhalten Sie Daten aus der Datenbank. Wenn diese nicht gefunden werden, erhalten Sie möglicherweise ein leeres Objekt. Wenn Sie bestimmte Operationen oder bestimmte Methoden für ein Nullobjekt ausführen, wird ein Fehler in Ihrem Programm ausgelöst. Daher ist es besser, zuerst zu prüfen, ob das Objekt leer ist.
Wir lernen drei Möglichkeiten kennen, mit JavaScript zu überprüfen, ob ein Objekt leer ist.
Wir können die Methode Object.keys() verwenden, um die Schlüssel eines Objekts in einem einzelnen Array abzurufen. Anschließend können wir die Länge des Arrays mithilfe seiner Längeneigenschaft überprüfen. Wenn die Länge des Schlüsselarrays 0 ist, bedeutet dies, dass das Objekt keine Schlüssel enthält und das Objekt leer ist.
Benutzer können die Methode Object.keys() gemäß der folgenden Syntax verwenden, um zu überprüfen, ob das Objekt leer ist.
let obj1Len = Object.keys(obj1).length; if (obj1Len == 0) { // object is empty } else { // object is not empty }
In der obigen Syntax gibt Object.keys() ein Array aller Schlüssel von obj1 zurück, und wir verwenden die Längeneigenschaft, um seine Länge zu ermitteln. Mit der obigen Syntax können wir mit der Methode Object.keys() ein Array aller Schlüssel abrufen und auch die Länge des Arrays mit der Eigenschaft „length“ überprüfen
Im folgenden Beispiel haben wir zwei verschiedene Objekte erstellt. obj1 enthält einige Eigenschaften, während obj2 leer ist und keine einzelne Eigenschaft enthält.
Danach verwenden wir die Methode Object.keys() für beide Objekte, um das Schlüsselarray abzurufen und überprüfen die Länge des Arrays, um sicherzustellen, dass das Objekt leer ist oder mindestens eine Eigenschaft enthält.
<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-Schleife ermöglicht es uns, über die Schlüssel eines Objekts zu iterieren. Wir können for-in verwenden, um jeden Schlüssel des Objekts zu durchlaufen. Hier verwenden wir die for-in-Schleife und prüfen, ob sie das Objekt einmal durchläuft, das Objekt mindestens eine Eigenschaft enthält und nicht leer ist.
Benutzer können der folgenden Syntax folgen, um mithilfe der for-in-Schleife zu prüfen, ob das Objekt leer ist.
function isObjectEmpty(object) { for (ele in object) { // object is not empty return; } // if control comes here, the object is empty }
for-in-Schleife.
BeispielisObjectEmpty() erstellt, die unterschiedliche Meldungen ausgibt, je nachdem, ob das Objekt leer ist oder nicht.
Wir haben die FunktionisObjectEmpty() zweimal mit verschiedenen Objekten aufgerufen, und der Benutzer kann ihre Ausgabe beobachten.
<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() wandelt jeden Wert in die Zeichenfolge um, die wir als Parameter der Methode übergeben. Die Syntax für ein leeres Objekt ähnelt der von {}, und die Methode stringify() gibt für ein leeres Objekt immer „{}“ zurück.
Daher können wir den Rückgabewert der stringify()-Methode mit „{}“ vergleichen, um festzustellen, ob das Objekt leer ist.Grammatik
if(JSON.stringify(education) == "{}") { // object is empty } else { // object is not empty }
JSON.stringify() „{}“ zurück.
BeispielJSON.stringify() nicht „{}“ zurück, sondern den Zeichenfolgenwert des Bildungsobjekts. Daher kann der Benutzer die Ausgabe beobachten, die zeigt, dass das Bildungsobjekt nicht leer ist.
<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>
Das obige ist der detaillierte Inhalt vonWie kann ich mit JavaScript prüfen, ob ein Objekt leer ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!