gpt4 book ai didi

javascript - 遍历对象中的类型

转载 作者:行者123 更新时间:2023-11-30 11:56:09 25 4
gpt4 key购买 nike

好吧,昨天我问了一个问题,我能够解决这个问题,但今天重试后,我真的不明白为什么我自己做的没有用。我的问题基本上是,为什么当我记录这个时,它会跳过数组的第一个元素( 20 值)。我的猜测是 30 覆盖了之前的位置,但我无法真正理解为什么。这是我的想法

首先我们的列表是 value:10, rest:null 现在 i =1,所以我们将添加一个值 20 和另一个 rest:null 到 pre-现有的 rest。从而得到 value:10, rest: value:20, rest:null,然后同样得到 30 的值。

function arrayToList(array)
{
var list = {value : array[0], rest: null } ;
for ( i = 1 ; i<array.length ; i++)
{
list.rest = { value: array[i], rest:null}

}
return list;
}

console.log(arrayToList([10,20,30]);

最佳答案

您在每次遍历时都会覆盖 rest 的值。我认为您应该使用递归函数的概念来使其快速准确。

请使用以下代码:

function arrayToList(array, i){
if(i == array.length){
return null ;
}
return { value: array[i], rest: arrayToList(array, i+1) };
}
console.log(arrayToList([10,20,30], 0));

这里,i 表示数组中的索引。我希望这能解决你的问题。它在我的系统上运行良好。

我得到的结果是:

{
value: 10,
rest: {
value: 20,
rest: {
value: 30,
rest:null
}
}
}

祝你好运!!!

关于javascript - 遍历对象中的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37896731/

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