Javascript: Überprüfung, ob ein Objekt keine Eigenschaften hat, oder wenn eine Karte / assoziatives Array ist leer [Duplikat]
-
26-09-2019 - |
Frage
Mögliche Duplizieren:
Wie teste ich für ein leeres Javascript-Objekt aus JSON?
Gibt es eine einfache Möglichkeit zu überprüfen, ob ein Objekt keine Eigenschaften hat, in Javascript? Oder mit anderen Worten, eine einfache Möglichkeit, zu überprüfen, ob eine Karte / assoziative Array leer ist? Zum Beispiel, sagen wir, Sie hatte die folgende:
var nothingHere = {};
var somethingHere = {foo: "bar"};
Gibt es eine einfache Möglichkeit zu sagen, was man ist „leer“? Das einzige, was ich denken kann, ist so etwas wie folgt aus:
function isEmpty(map) {
var empty = true;
for(var key in map) {
empty = false;
break;
}
return empty;
}
Gibt es eine bessere Art und Weise (wie eine native Eigenschaft / Funktion oder etwas)?
Lösung
Versuchen Sie diese:
function isEmpty(map) {
for(var key in map) {
if (map.hasOwnProperty(key)) {
return false;
}
}
return true;
}
Ihre Lösung funktioniert auch, aber nur, wenn es keine Bibliothek des Object
Prototyp erstreckt. Es kann oder auch nicht gut genug sein.