数组范围的总和

时间:2017-08-19 02:58:39

标签: javascript arrays

我遇到了一个需要解决的编码问题。我被要求在数组中运行一个数字总和,但我无法使代码正常运行。

这是我的代码,以下是我被要求运行的说明:

function sumOfRange(numbers){
var numbers = [1,-1,1,-1,1];
var sum = 0;
for (var i = 0; i < numbers.length; i++){
sum += numbers[i];
}
return sum;
}

// Your Challenge:
// - Create a function named sumOfRange.
// - It accepts one parameter, called numbers, that
//   represents an array of numbers. 
//

// - In your function, sum the numbers inside the array. 
//   (Reminder: you'll need a variable to store the result.)
// - Return the result.


// Hint: You do not need to create a new array - you will be 
// looping through the parameter, which is already coming in as 
// an array.

// Someone else will be calling your function like this:
// sumOfRange([1,2,3,4,5])
// sumOfRange([-4,-5,-10,0])

我一直在

错误说

  

你回来了&#39; 1&#39;。这不是很正确。 [1,2,3,4,5]的总和为15。

任何对此的帮助都会非常感激。

2 个答案:

答案 0 :(得分:1)

删除函数sumOfRange()var numbers = [1,-1,1,-1,1]的第一行,因为你正在重新初始化数字的值,你需要使用调用它时传递给函数的数组。

function sumOfRange(numbers) {
    var sum = 0;
    for (var i = 0; i < numbers.length; i++) {
        sum += numbers[i];
    }
    return sum;
}
console.log(sumOfRange([1,-1,1,-1,1]));
console.log(sumOfRange([1,2,3,4,5]));
console.log(sumOfRange([-4,-5,-10,0]));

答案 1 :(得分:0)

var a = [1,2,3,4,5]; 
function sum (arr) {
 return arr.reduce(function(prev, curr) {
    return prev + curr;
 }, 0);  
}

// sum(a) - &gt;返回15