#javascript
Как правильно проверить в JavaScript, является ли объект пустым, или содержит какие-то свойства?
Ответы
Ответ 1
Например так: if (Object.keys(obj).length == 0) { console.log('пуст'); } Но к сожелению, Object.keys() доступен не везде (нужно отметить галочку Show obsolete browsers? для того, чтобы увидеть все браузеры), поэтому можно воспользоваться полифилом, либо такой, например, функцией: function isEmptyObject(obj) { for (var i in obj) { if (obj.hasOwnProperty(i)) { return false; } } return true; } Либо так при помощи jQuery, если Вы не изменяли прототип Object: if ($.isEmptyObject({});) { console.log('пуст'); }Ответ 2
Как вариант: if(!JSON.stringify({a:7})=='{}'){ console.log('Не пуст') } Или проверить наличие третьего символа в строке, пустой объект-строка всегда имеет 2 символа. if(JSON.stringify({a:7})[2]){ console.log('Не пуст') }Ответ 3
Как вариант можно вот так function isEmpty(obj) { for(var key in obj) { return false; } return true; }
Комментариев нет:
Отправить комментарий