![](/img/trans.png)
[英]function for a value to go up +0.01 when called in javascript not working (beginner)
[英]Why is my function working when called by itself but not when I call it with another function? (Beginner javascript question)
我正在应对一些编码挑战(我仍然是初学者)。 我能够使这两个函数都工作,但是当我尝试将它们一起调用时,我的第二个 function 只返回零。
这两个函数都接受两个(或更多)参数。 第一个 function 计算两个参数之间的数字并在字符串 (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 `
这里发生了很多事情。 首先确保您在第一个 function 中返回一个值,而不仅仅是打印到控制台。 其次,当你说“if(i>=end)”时,它总是正确的,所以不需要它。 也可以不用说“if(I>=end)”,而是把“I==end”或者只是把下面的代码放在for循环之后。 我建议您返回这些数字,并将其作为总和 function 的参数。 我希望你能够遵循所有这些!
这是一个工作选项:
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));
或者这可能更容易理解:
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)));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.