gpt4 book ai didi

javascript - 这个变量是一个数组。为什么它返回未定义?

转载 作者:行者123 更新时间:2023-11-29 19:13:57 27 4
gpt4 key购买 nike

这是解决 Eloquent Javascript challenge in Chapter 4 问题的部分尝试, 一个列表。 theArray 返回未定义,但如果我只打印它的值,它就是我所期望的(值数组)。为什么会返回 undefined?

var obj = {"value":"C","rest":{"value":"B","rest":{"value":"A"}}};

var theArray =[];

var listToArray = function(list) {
theArray.push(list.value);
if(list.rest !== undefined) {
listToArray(list.rest);
} else return theArray; //console.log(theArray); returns the expected value
}

console.log(listToArray(obj));

最佳答案

你必须返回递归调用,

 if(list.rest !== undefined) {
return listToArray(list.rest);

DEMO

如果不返回递归调用,则不会返回最终函数栈中的数组,而是返回undefined

关于javascript - 这个变量是一个数组。为什么它返回未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36725308/

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