gpt4 book ai didi

javascript - 为什么这个 javascript 函数总是返回一个未定义的数组?

转载 作者:行者123 更新时间:2023-12-03 00:13:23 24 4
gpt4 key购买 nike

我有一个简单的“解码”函数,它接受 2 个数组作为输入,其中第二个数组用于解码第一个数组。

起始输入(不是在函数递归时)必须始终采用以下格式:

  1. 第一个数组的长度为 1
  2. 第二个数组的长度是 2,负 1(1,3,7,15,...)

输入示例:([4],[0,2,6])

由于某种原因,当我尝试返回已解码的数组时,我的代码总是返回未定义。事实上,即使我将 return 语句更改为“return false”之类的内容,我似乎也无法返回除未定义之外的任何内容。日志语句显示两个数组都捕获了正确的值,这让我非常困惑。

这是我的代码:

var decode = function(A, B){
console.log("A: "+A+" B:"+B);
console.log(B.length);
if(B.length===0){
return A;
}
var newA = [];
var newB = [];
var act = 0;
for(let i=0; i<A.length; i++){
newA[act] = A[i] - (B[i]/2);
newA[act+1] = A[i] + (B[i]/2);
act+=2;
newB = B.slice(i+1);
}
decode(newA, newB);
}

console.log("Answer is" + decode([4], [0,2,6]));

无论您使用什么返回语句,这都将始终返回未定义。控制台.log(A);另一方面是为我想要返回的内容提供正确的值。

非常感谢您的帮助!非常感谢。

最佳答案

问题在于,如果B.length != 0,则没有返回值。改变

decode(newA, newB);

return decode(newA, newB);

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

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