Задать вопрос
@rabobas

Почему value выводятся в консоль в обратном порядке?

let list = {
    value: 1,
    next: {
      value: 2,
      next: {
        value: 3,
        next: {
          value: 4,
          next: null
        }
      }
    }
  };
  
  function reverseNext(list) {
    for(elem in list) {

        if(typeof list[elem] == 'object') {
            reverseNext(list[elem])
            console.log(list.value)
        }
    }
  }

  reverseNext(list)
  • Вопрос задан
  • 279 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@historydev Куратор тега JavaScript
Редактирую файлы с непонятными расширениями
Рекурсия заставляет код "углубляться" внутрь структуры данных, доходя до самого конца, а затем начинает возвращаться обратно, выполняя оставшуюся часть кода для каждого уровня вызова. Это и приводит к тому, что значения выводятся в обратном порядке.
Либо так:
if(typeof list[elem] == 'object') {
        		console.log(list.value);
            reverseNext(list[elem])
        }


Либо так:
if(typeof list[elem] == 'object') {
            reverseNext(list[elem])
        } else {
        	console.log(list.value)
        }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы