Spe*_*e43 5 javascript arrays flatten
我正在通读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]));
Run Code Online (Sandbox Code Playgroud)
这会注销:
[object Object]value:2, rest: null
正如您所看到的,我不理解如何通过迭代创建“嵌套”对象(列表)。有人可以向我解释一下吗?
您需要从null第一个list值开始。
然后,您需要迭代索引从最后一个到零的元素,并使用list数组和前一个列表中的实际值分配一个新对象作为rest。
您尝试过的是通过检查元素并从错误的值开始进行错误的迭代,然后通过添加字符串而不是对象将其转换为字符串。
function arrayToList(array) {
let list = null;
for (let i = array.length - 1; i >= 0; i--) {
list = { value: array[i], rest: list };
}
return list;
}
console.log(arrayToList([1, 2, 3]));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25079 次 |
| 最近记录: |