Javascript: Comprobación de si un objeto no tiene propiedades o si un mapa / asociativo-matriz está vacía [duplicado]

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

Pregunta

  

Duplicar posibles:
   ¿Cómo se prueba para un objeto de JavaScript vacío de JSON?

¿Hay una manera fácil de comprobar si un objeto no tiene propiedades, en Javascript? O en otras palabras, una forma fácil de comprobar si hay una matriz de mapa / asociativo está vacía? Por ejemplo, digamos que usted tenía lo siguiente:

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

¿Hay una manera fácil de decir cuál es "vacío"? La única cosa que puedo pensar es algo como esto:

function isEmpty(map) {
   var empty = true;

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

   return empty;
}

¿Hay una manera mejor (como una propiedad / función nativa o algo así)?

¿Fue útil?

Solución

Prueba esto:

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

su solución funciona, también, pero sólo si no hay ninguna biblioteca de extender el prototipo Object. Se puede o no ser lo suficientemente bueno.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top