Я изучаю JavaScript из книги под названием «Красноречивый Javascript».
Я пытаюсь решить упражнение, описанное здесь: http://eloquentjavascript.net/04_data.html#h_nSTX34CM1M< /а>
Мне удалось выяснить, что этот код работает:
function arrayToList(array) {
var list = null;
for (var i = array.length - 1; i >= 0; i--)
list = {
value: array[i],
rest: list
};
return list;
}
console.log(arrayToList([1, 2, 3]));
Результат: { значение: 1, остальное: { значение: 2, остальное: { значение: 3, остальное: ноль } } }
Пока все хорошо, и по книге это правильное решение. НО!
Когда я пытаюсь запустить то же самое, но вместо этого с более длинным массивом, скажем:
console.log(arrayToList([1, 2, 3, 4, 5]));
Результат: { значение: 1, остальное: { значение: 2, остальное: { значение: 3, остальное: [Объект] } } }
Почему это? Мой код неправильный?