Javascript: проверка, нет ли объекта в объекте или нет или нет карты/ассоциативного массива
Возможный дубликат:
Как проверить пустой объект 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;
}
Есть ли лучший способ (например, собственное свойство или функция)?
Ответы
Ответ 1
Попробуйте следующее:
function isEmpty(map) {
for(var key in map) {
return !map.hasOwnProperty(key);
}
return true;
}
Ваше решение работает тоже, но только если нет библиотеки, расширяющей прототип Object
. Это может быть или не быть достаточно хорошим.