我正在开始使用JavaScript。我实现了一个简单的函数来将一个数组转换为一个单独的链表,然后递归地遍历它以返回特定位置的值。我的代码当前记录undefined
除了0以外的所有位置值。是什么导致它以这种方式表现?单向链表上的简单递归迭代JavaScript
var list = arrayToList([1,2,3,4,5]);
function arrayToList(arr) {
var list = null;
for (var i = arr.length - 1; i >= 0; i--) {
list = {value : arr[i], rest: list};
}
return list;
}
function nth(list, count) {
if (!list) return undefined;
if (count == 0) return list.value;
else nth(list.rest, count - 1);
}
console.log(nth(list,2));