【发布时间】:2014-11-16 17:35:14
【问题描述】:
在Eloquent Javascript book 的练习中遇到问题。任务是从数组中创建一个列表。
列表是这样的:
var list = {
value: 1,
rest: {
value: 2,
rest: {
value: 3,
rest: null
}
}
};
function arrayToList(array)
{
var list = null;
for (var i = array.length-1; i>=0; i--) {
list = {value: array[i], rest: list};
}
return list;
}
我了解它的工作原理,但不明白为什么。正如我想象的那样,循环将重写列表对象,而它的 rest 属性将指向包含它的对象。有人可以解释一下它的工作原理和原因吗?
我也在我的浏览器(Firefox 33)中尝试了该解决方案,console.log(arrayToList([10,20])) 打印出“未定义”
【问题讨论】:
标签: javascript