gpt4 book ai didi

尝试返回数字时,Javascript 将 Number 转换为 undefined

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:39 24 4
gpt4 key购买 nike

所以我有以下函数将数组转换为列表并且工作正常:

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

return list
}

现在我正在尝试编写一个返回列表中第 n 个值的函数

function nth (list, number) {
if (number !== 0) {
nth(list.rest, number - 1)
} else {
console.log(typeof list.value)
return list.value
}
}

如果我运行 nth(list, 0) 它工作正常,但是当我在函数 console.log 中将索引(数字)更改为其他内容(例如 1、2 等)时,显示 list.value 的类型是 Number 但它返回的内容是未定义的P.S:我使用 Node.js 版本 6.11.4 来运行我的代码

最佳答案

您还需要从中间调用中返回

return nth(list.rest, number - 1) //observe that return before nth

function nth (list, number) {
if (number !== 0) {
return nth(list.rest, number - 1);
} else {
console.log(typeof list.value)
return list.value;
}
}

演示

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

return list
}

function nth (list, number) {
if (number !== 0) {
return nth(list.rest, number - 1);
} else {
//console.log(typeof list.value)
return list.value;
}
}

var arr = [1,2,3,4,5,6];
var list = arrayToList(arr);
console.log(nth(list,2));

关于尝试返回数字时,Javascript 将 Number 转换为 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49551512/

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