Подскажите как вывести все свойства объекта?
Есть объект
obj = {ob : "param 1", more : {ob : "param 2", more: {ob : "param 3", more : {ob: param: "param 3", more: "stop" }}}}; как мне его перебрать чтобы получить массив всех ob и массив всех more ? пожалуйста подскажите! |
|
Цитата:
http://javascript.ru/typeof |
ksa, да я понимаю как это сделать для свойств верхнего уровня, а как перебрать вложенные объекты? подскажи пожалуйста! :)
|
Цитата:
2. Если объект - перебрать его как любой объект. Про рекурсию слышал? :) Так вот это как раз её случай. ;) |
Цитата:
|
это типа сигнал "хватит переберать" :)
PS. про рекурсию щас почитаю, спасибо. |
Цитата:
|
Цитата:
Нипанятна... :cray: |
function parseOb (ob) { for(var key in ob) { var massVal = [] var massMore = [] massVal.push(key) massMore.push(ob[key]) if (ob[key] instanceof Object) { parseOb(ob) } } } var obj = {val: 1, more: { val: 2, more: { val: 3, more: { val: 4, more: 0 } } } }; parseOb(obj); ругается Uncaught RangeError: Maximum call stack size exceeded ЗЫ, мне нужно понять если следущий more объект то взять его имя (val) и так пока незакончатся все more (следуя вашему совету поменял "stop" на 0) |
Часовой пояс GMT +3, время: 08:22. |