gpt4 book ai didi

javascript - 递归函数的返回值为 'undefined'

转载 作者:可可西里 更新时间:2023-11-01 01:37:32 25 4
gpt4 key购买 nike

每当我执行此代码段时,返回前的 console.log 都会返回值 23 的 20 倍的数组。然而 console.log(Check(users, 0, 20));仅返回“未定义”。

我做错了什么?

var users = [23, 23, 23, 23, 23, 23, 23, 23, 23, 23];
console.log(Check(users, 0, 20));

function Check(ids, counter, limit){
ids.push(23);

// Recursion
if (counter+1 < limit){
Check(ids, counter+1, limit);
}
else {
console.log(ids);
return ids;
}
}

最佳答案

您忘记从进入递归的点返回结果。

var users = [23, 23, 23, 23, 23, 23, 23, 23, 23, 23];
console.log(Check(users, 0, 20));

function Check(ids, counter, limit){
ids.push(23);

// Recursion
if (counter+1 < limit){
return Check(ids, counter+1, limit); // return here!
}
else {
console.log(ids);
return ids;
}
}

但是返回值似乎没用,因为你的函数也改变了初始数组。

关于javascript - 递归函数的返回值为 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17528566/

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