Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 16.06.2012, 17:33
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

все дошло!!! вот я туплю=) при рекурсии меняется значение key
Ответить с цитированием
  #12 (permalink)  
Старый 16.06.2012, 17:34
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Amphiluke,
Ответить с цитированием
  #13 (permalink)  
Старый 16.06.2012, 17:43
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

http://cs10349.userapi.com/u11538055/-7/x_5d2305be.jpg

var J=-1; //(Номер вложенности)
function createTreeText(obj) { // отдельная рекурсивная функция
J++;
    var li = '';
    for (var key in obj) {
alert(J+" (Номер вложенности)")
alert(createTreeText(obj))
      li += '<li>' + key + createTreeText(obj[key]) + '</li>';
// функции каждый раз себя вызывает

alert(li)
    }
    if (li) {
      var ul = '<ul>' + li + '</ul>'
    }
    return ul || '';
  } a=[1,2,3];createTreeText(a)


Воть так достигается => error: Maximum recursion depth exceeded
Ответить с цитированием
  #14 (permalink)  
Старый 16.06.2012, 17:46
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от Deff Посмотреть сообщение
http://cs10349.userapi.com/u11538055/-7/x_5d2305be.jpg

var J=-1; //(Номер вложенности)
function createTreeText(obj) { // отдельная рекурсивная функция
J++;
    var li = '';
    for (var key in obj) {
alert(J+" (Номер вложенности)")
alert(createTreeText(obj))
      li += '<li>' + key + createTreeText(obj[key]) + '</li>';
// функции каждый раз себя вызывает

alert(li)
    }
    if (li) {
      var ul = '<ul>' + li + '</ul>'
    }
    return ul || '';
  } a=[1,2,3];createTreeText(a)


Воть так достигается => error: Maximum recursion depth exceeded
тупонул немного =)
не подумал что in перебирает пока есть что перебирать
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
<li class="active"> Не могу понять :( renelon Javascript под браузер 10 28.09.2013 16:58
Наболевший this. Не могу понять Harvey Общие вопросы Javascript 6 19.08.2011 17:30
Не могу понять, почему не работает автокомпил в IE 8 gargon2008 jQuery 0 07.06.2011 11:31
RegExp - поиск в найденном. Не могу понять senseysensor Общие вопросы Javascript 9 17.10.2010 21:55
не могу понять в чём ошибка scuter Общие вопросы Javascript 2 28.08.2008 15:22