Вы используете val
, а не value
:
function listToArray() {
let list = {value: 1,rest: {value: 2,rest: {value: 3,rest: null}}};
let array = [list.value];
while (list.rest !== null) {
list = list.rest;
array.push(list.value);
}
return array;
}
console.log(listToArray());
В качестве альтернативы вы можете использовать простое рекурсивное решение:
let list = {value: 1,rest: {value: 2,rest: {value: 3,rest: null}}};
function listToArray(obj) {
let result = [obj.value]
if (obj.rest) result = result.concat(listToArray(obj.rest));
return result;
}
console.log(listToArray(list));