Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как проверить наличие элементов в объекте? (https://javascript.ru/forum/misc/5666-kak-proverit-nalichie-ehlementov-v-obekte.html)

гвоздик 29.10.2009 14:35

как проверить наличие элементов в объекте?
 
Как проверить наиболее просто и быстро, что в объекте хоть что-то есть? Неважно, что... length же не работает :-(

сейчас делаю так
var cnt = 0
for(var any in Obj) cnt++
if(cnt>0) continue


помогите

Kolyaj 29.10.2009 14:39

Так и проверять, только можно получше
function emptyObject(obj) {
    for (var i in obj) {
        return false;
    }
    return true;
}

гвоздик 29.10.2009 15:00

Ну это то же самое, просто функцией.
Я надеялся что ещё проще можно. ;-)
Спасибо.

Kolyaj 29.10.2009 15:11

Не совсем то же, если в объекте 1000 свойств, они все прогоняться не будут.

Dmitry A. Soshnikov 30.10.2009 10:33

Цитата:

Сообщение от гвоздик
for(var any in Obj)

Если нужно именно в самом объекте, то надо добавить проверку:

for(var any in Obj) if Obj.hasOwnProperty(any) {...}


иначе "пустой" объект может быть непустым, если что-то есть в прототипе.

Если кроссбраузерность неважна (а вдруг), то у Gecko есть свойство __count__:

({a: 10, b: 20}).__count__ // 2


Часовой пояс GMT +3, время: 20:35.