JavaScript: проверка, если объект не имеет свойств или если карта / ассоциативный массив пустой [дубликат

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

Вопрос

Возможный дубликат:
Как я могу проверить для пустого объекта JavaScript от JSON?

Есть ли простой способ проверить, имеет ли объект не свойств, в JavaScript? Или другими словами, простой способ проверить, является ли карта / ассоциативный массив пустой? Например, скажем, что у вас есть следующее:

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

Есть ли простой способ сказать, какой из них «пустой»? Единственное, что я могу придумать, это что-то подобное:

function isEmpty(map) {
   var empty = true;

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

   return empty;
}

Есть ли лучший способ (как нативное свойство / функция или что-то)?

Это было полезно?

Решение

Попробуй это:

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

Ваше решение тоже работает, но только если нет библиотеки, расширяющейся Object опытный образец. Это может или не может быть достаточно хорошим.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top