为什么我的函数在自己调用时工作,而在用另一个函数调用时却不工作?(初学者javascript问题)

为什么我的函数在自己调用时工作,而在用另一个函数调用时却不工作?(初学者javascript问题),javascript,function,Javascript,Function,我正在进行一些编码挑战(我还是个初学者)。我能够使这两个函数都工作,但是当我尝试将它们一起调用时,我的第二个函数只返回零 这两个函数都接受两个(或更多)参数。第一个函数对两个参数之间的数字进行计数,并以字符串形式返回它们(1,5)=>1,2,3,4,5),第二个函数将它们相加(1,10)=>55。有什么原因可以解释为什么它们是单独工作的,而不是一起工作的 提前谢谢 `let range = (start, end) => { numbers = []; for(i = st

我正在进行一些编码挑战(我还是个初学者)。我能够使这两个函数都工作,但是当我尝试将它们一起调用时,我的第二个函数只返回零

这两个函数都接受两个(或更多)参数。第一个函数对两个参数之间的数字进行计数,并以字符串形式返回它们(1,5)=>1,2,3,4,5),第二个函数将它们相加(1,10)=>55。有什么原因可以解释为什么它们是单独工作的,而不是一起工作的

提前谢谢

`let range = (start, end) => {
    numbers = [];
    for(i = start; i<end+1; i++) {
      if(i>=start){
      numbers.push(i);
        if (i>=end) {
          console.log(numbers);
        }
      }
    }

}

function sum(start, ...add){ 
    let sumCounter = 0; 
      for(i = start; i<=add; i++) {
        sumCounter += i;
    }
    return sumCounter;
} 

console.log(sum(1,10)); //second function works

console.log(sum(range(1, 10))); //first function works, not second function `
`let range=(开始,结束)=>{
数字=[];
for(i=开始;i=开始){
数字推送(i);
如果(i>=结束){
控制台日志(编号);
}
}
}
}
函数和(开始,…添加){
设sumCounter=0;

对于(i=start;i这里有很多事情要做。首先确保在第一个函数中返回一个值,而不仅仅是打印到控制台。其次,当你说“if(i>=end)”时,它总是正确的,因此不需要。也可以把“i==end”改为“if(i>=end)”或者在for循环后面加上下面的代码。我建议您返回数字,并将其作为求和函数的参数。我希望您能够遵循所有这些!这里有一个可行的选项:

function range(start, end) {
    var numbers = [];
    for (i=start;i<end+1;i++) {
        numbers.push(i)
    } 
    return numbers;
}

console.log("Sum: " + range(5, 10).reduce((a,b) => a + b, 0));
功能范围(开始、结束){
var数=[];
对于(i=开始;i a+b,0));
或者这可能更容易理解:

function range(start, end) {
    var numbers = [];
    for (i=start;i<end+1;i++) {
      numbers.push(i)
    } 
    return numbers;
}

function sum(nums) {
    var sum = 0;
    for (i=0;i<nums.length;i++) {
        sum += nums[i];
    }
    return sum;
}

console.log("Sum: " + sum(range(5, 10)));
功能范围(开始、结束){
var数=[];

对于(i=start;i
以字符串形式返回它们
-不,它输出到控制台,并返回
未定义的
-console.log的工作方式与return不同-如果要从函数返回值,请同时使用return….
…add
将使sum函数中的变量
add
成为所有答案的数组存储库!Jusi don’我没有再看我的代码和我犯了多少错误。非常感谢你把它们都指出来!我想我现在对这一点有了更好的理解。但我不知道为什么我在这个问题上遭到了反对票。哦,好吧,谢谢你的回答!我接着说:)非常感谢你的回答。感谢你的帮助,现在更清楚了!