gpt4 book ai didi

javascript - Eloquent Javascript : Exercise: A list

转载 作者:搜寻专家 更新时间:2023-11-01 00:30:37 25 4
gpt4 key购买 nike

我正在从一本名为“Eloquent Javascript”的书中学习 JavaScript

我正在尝试解决此处描述的练习:http://eloquentjavascript.net/04_data.html#h_nSTX34CM1M

我设法确定这段代码有效:

function arrayToList(array) {

var list = null;

for (var i = array.length - 1; i >= 0; i--)
list = {
value: array[i],
rest: list
};
return list;
}

console.log(arrayToList([1, 2, 3]));

结果:{ 值:1,剩余:{ 值:2,剩余:{ 值:3,剩余:空}}}

到目前为止,一切顺利,根据本书,这是正确的解决方案。但是!

当我尝试运行相同的东西但使用更长的数组时,假设:

console.log(arrayToList([1, 2, 3, 4, 5]));

结果是:{ value: 1, rest: { value: 2, rest: { value: 3, rest: [Object] } } }

这是为什么?我的代码有错吗?

最佳答案

数组越长越好。 console.log() 是一种非标准的、特定于浏览器的实现,一些实现对它们将显示的对象嵌套级别设置了上限。当他们达到那个级别时,他们只显示 [Object] 而不是递归到它以显示更深的嵌套。

如果您实际设置了一个断点并在调试器中检查了您的变量,您会发现您可以将嵌套级别尽可能深地展开并查看所有内容。

或者,您可以这样做:

console.log(JSON.stringify(arrayToList([1, 2, 3, 4, 5])));

在使用 console.log() 之前手动将整个内容转换为字符串。

关于javascript - Eloquent Javascript : Exercise: A list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36106681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com