web-dev-qa-db-fra.com

Javascript: Vérifier si un objet n'a pas de propriétés ou si une carte / tableau associatif est vide

Duplicata possible:
Comment puis-je tester pour un objet Javascript vide de JSON?

Existe-t-il un moyen simple de vérifier si un objet n'a pas de propriétés, en Javascript? Ou en d'autres termes, un moyen simple de vérifier si une carte/un tableau associatif est vide? Par exemple, supposons que vous disposiez des éléments suivants:

var nothingHere = {};
var somethingHere = {foo: "bar"};

Existe-t-il un moyen facile de dire lequel est "vide"? La seule chose à laquelle je peux penser est quelque chose comme ceci:

function isEmpty(map) {
   var empty = true;

   for(var key in map) {
      empty = false;
      break;
   }

   return empty;
}

Existe-t-il un meilleur moyen (comme une propriété/fonction native ou quelque chose)?

33
Vivin Paliath

Essaye ça:

function isEmpty(map) {
   for(var key in map) {
     if (map.hasOwnProperty(key)) {
        return false;
     }
   }
   return true;
}

Votre solution fonctionne également, mais uniquement s'il n'y a pas de bibliothèque étendant le prototype Object. Cela peut être suffisant ou non.

45
chryss