Показать сообщение отдельно
  #1 (permalink)  
Старый 05.11.2016, 16:21
Интересующийся
Отправить личное сообщение для Antonqq Посмотреть профиль Найти все сообщения от Antonqq
 
Регистрация: 05.11.2016
Сообщений: 18

Дублируется значение в массиве
есть такой код:
$(function() {

  function buildJSON($li) {
    var subObj = { "name": $li.contents().eq(1).text().trim() };
    $li.children('ul').children().each(function() {
      if (!subObj.children) { subObj.children = []; }
      subObj.children.push(buildJSON($(this)));
    });
    return subObj;
  }
    
  var obj = buildJSON($(".dd-list").children());
  $('.adsadd').append(JSON.stringify(obj, null, 2));

});


И такой список:

<ul class="dd-list add_new_item">
		<li class="dd-item" data-id="11">
			<div class="dd-handle">1</div>
			<ul class="dd-list">
				<li class="dd-item" data-id="14">
					<div class="dd-handle">1.1</div>
					<ul class="dd-list">
						<li class="dd-item" data-id="15">
							<div class="dd-handle">1.1.1</div>
							<ul class="dd-list">
							</ul>
						</li>
					</ul>
				</li>
			</ul>
		</li>
	</ul>



А на выходе мне дает это:
{ "name": 1, "children": [ { "name": 1.1, "children": [ { "name": 1.1.1 } ] }, { "name": 1.1.1 } ] }


А должно быть по идее
{ "name": 1, "children": [ { "name": 1.1, "children": [ { "name": 1.1.1 } ] }
Ответить с цитированием