Javascript: Überprüfung, ob ein Objekt keine Eigenschaften hat, oder wenn eine Karte / assoziatives Array ist leer [Duplikat]

StackOverflow https://stackoverflow.com/questions/3426979

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)?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top