我正在通读 Eloquent JavaScript ,在第 4 章的末尾,它挑战你将数组转换为列表,即
[1, 3, 3] --> {value: 1, rest: {value: 2, rest: {value: 3, rest: null}}};
而且我不认为我理解这个概念。
它建议向后遍历数组,所以我尝试过:
function arrayToList(array) {
let list = {};
for (let i = array.length -1; i > array[0]; i--) {
list += ("value:" + i + ", rest: null");
}
return list;
}
console.log(arrayToList([1, 2, 3]));
这注销:
[object Object]value:2, rest: null
如您所见,我不了解如何通过迭代创建“嵌套”对象(列表)。有人可以向我解释一下吗?
原文由 SpeakInCode43 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要从
null
开始,作为第一个list
值。然后,您需要遍历索引从最后一个到零的元素,并分配一个新的
list
对象,其实际值为数组和前一个列表rest
。您尝试过的是通过检查元素并以错误值开始的错误迭代,该错误值后来通过添加字符串而不是对象转换为字符串。