Число свойств в объекте и избавление от паравозов
Добрый день.
Есть два небольших вопроса: 1. Как можно узнать число свойств и методов в js объекте? Как собственных, так и тех которые идут в прототипах. Только чтобы без цикла for in по этому объекту. 2. Есть некоторый объект, у него есть вложенные свойства: a.b.c.d.e Как можно компактно и быстро получить значение свойства "e", если может быть пустым любой из "вагонов" этого паровоза, причём длина паровоза может быть произвольной. Кто нибудь решал эту задачу, кроме прохода по вагонам циклом, рекурсией или банальным try catch ? |
Цитата:
|
1)
http://jquery-docs.ru/Core/size/ 2) сам мучаюсь. Сделал сначала replace всех пустых, затем просто find $(document).find('table'); |
Если нужно подсчитать количество всех дочерних элементов, то сперва определите родительский элемент, затем обойдите рекурсивно все ноды с помощью методов childNodes или children[]
|
Речь не про dom дерево.
Речь про произвольный js объект, например такой a = {a: 123, b : 321 } |
Цитата:
var object = { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6, g: 7, h: 8, i: 9, j: 10 }; alert(Object.keys(object).length); |
DreamTheater,
вложенные ветки все равно рекурсивно обходить придется |
Цитата:
|
Спасибо. То что нужно.
Ещё бы вторую задачу решить :) |
Object.getOwnPropertyNames, Object.keys - оказывается этих методов нет в IE8-. Печально.
|
Часовой пояс GMT +3, время: 14:00. |