@bervel
Пытливый моск

JavaScript — добавление в объект из массива — почему обратный порядок?

Добрый день.
Расскажите на пальцах, если не лень - отчего добавление элемента массива в дерево идет снизу вверх?
var arrayToList = function(array){
    var list = null;
    for (i = array.length-1; i >= 0;i--){
        list = {value:array[i], next:list};
        console.log(array[i]);
    }
    return list;
}
console.log(arrayToList([10,20,30,40,50]));


не могу понять логику... по идее же должен сверху вниз, то есть дерево должно быть таким:
50
-40
--30
---20
----10

или это так работает рекурсия? Если да, то почему именно так?
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Где вы тут рекурсию увидели? У вас итерация по массиву идет с последнего элемента.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ответ тут:
for (i = array.length-1...
При первой итерации вы добавляете последний элемент массива.
При последующих - предпоследний и так до первого.

Если нужен обратный порядок, то параметры цикла должны быть примерно такими:
for (var i = 0; i <= array.length-1 ; i++)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы