gpt4 book ai didi

javascript - 为什么javascript函数返回undefined

转载 作者:行者123 更新时间:2023-11-30 14:23:59 24 4
gpt4 key购买 nike

我正在尝试编写一个函数,将数组的第一个元素添加到另一个元素,直到它在 javascript 中具有单个值。如果我只传递数组中的一个元素,程序可以运行,但如果我传递多个元素,函数返回 undefined。任何帮助将不胜感激。

function fold(input) {
if (input.length === 1) {
return input[0];
} else {
var newArray = add(input[0], input.slice(1, input.length));
if (newArray.length > 1) {
fold(newArray);
} else {
return newArray[0];
}
}
}

var arr = [1, 4, 7];
var sum = fold(arr);
console.log("the sum is " + sum); //should return 13

最佳答案

如果函数没有返回任何内容,则默认返回 undefined。您必须返回函数:

改变

fold(newArray); 返回 fold(newArray);

function add(additem,arr){   
return arr.map(x => x + additem);
}


function fold(input){
if(input.length===1){
return input[0];
}
else {
var newArray=add(input[0],input.slice(1, input.length));
if(newArray.length > 1){
return fold(newArray); // return here
}
else{
return newArray[0];
}
}
}

var arr=[1,4,7];
var sum=fold(arr);
console.log("the sum is " + sum); //should return 13

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

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