JavaScript — добавление в объект из массива — почему обратный порядок?
Где вы тут рекурсию увидели? У вас итерация по массиву идет с последнего элемента.
Ответ тут:for (i = array.length-1...
При первой итерации вы добавляете последний элемент массива.
При последующих - предпоследний и так до первого.
Если нужен обратный порядок, то параметры цикла должны быть примерно такими:for (var i = 0; i <= array.length-1 ; i++)