0
Das Problem ist in der ListToArray-Funktion, ArrayToList nur dort, um einen Kontext zur Verfügung zu stellen, wie Listen erstellt werden.Warum funktioniert diese Rekursion nicht mit Javascript?
var arrayToList = function (array) {
var lastList = null;
for (i=array.length-1; i >= 0; i--) {
var list = {value : array[i], rest : lastList};
lastList = list;
}
return lastList;
}
var list = arrayToList([1,2,3])
var listToArray = function (list) {
var array = [];
array.push(list.value);
if (list.rest != null) {
array.concat(listToArray(list.rest));
} else {
return array;
}
}
var array = listToArray(list)
> list
{ value: 1, rest: { value: 2, rest: { value: 3, rest: null } } }
> array
undefined
Es gibt nur eine 'return' Anweisung in dem' else' Block, nicht im 'if' Block. – Xufox
Ist das wirklich etwas, das nicht gelöst werden konnte, indem Sie Ihren Code im Debugger durchlaufen? –