Показать сообщение отдельно
  #1 (permalink)  
Старый 26.09.2016, 18:50
Аспирант
Отправить личное сообщение для Sherminator Посмотреть профиль Найти все сообщения от Sherminator
 
Регистрация: 01.08.2012
Сообщений: 50

Разобрать объект - поле -> div (или ul)
Есть большой объект, например

var user = {
  name: "Вася",
  age: 25,
  size: {
    top: 90,
    middle: 60,
    bottom: 90,
      size: {
         top: 90,
         middle: 60,
         bottom: 90,
            size: {
               top: 90,
               middle: 60,
               bottom: 90
                    }
              }
        }
}



Как пробежаться по всем полям так, чтобы на выходе получилось

<div>
    <div>name: "Вася"</div>
    <div>age: 25</div>
    <div>size:
        <div>top: 90</div>
        <div>middle: 60</div>
        <div>bottom: 90</div>
        <div>size:
            <div>top: 90</div>
            <div>middle: 60</div>
            <div>bottom: 90</div>
            <div>size:
                <div>top: 90</div>
                <div>middle: 60</div>
                <div>bottom: 90</div>
            </div>
        </div>
    </div>
</div>


Набросал код, но он возвращает последнее вложение объекта. В чем косяк?
Fx.Wrap = function (obj) {
    var out = "";
    for (var prop in obj) {
        if (obj.hasOwnProperty(prop) && obj[prop] != undefined) {
            if (typeof obj[prop] == 'object') {
                out += this.Wrap(obj[prop]);
                continue;
            }
            out += '<div>' + prop + ': ' + obj[prop] + '</div>';
        }
    }
    return out;
};
Ответить с цитированием