计算数字数组的总和

时间:2020-03-29 11:25:13

标签: javascript arrays

我是javascript的新手,正在尝试完成测试。到目前为止,我做的还不错,但是我似乎无法正确理解最后三件事: -它应该以一个数字数组返回总和 -如果所有元素均为零,则应返回零 -传递数字数组时应返回总和

const numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10];

function sumNumbers(arr){
  if (arr === undefined || arr.length == 0) {
    return 0;
  }
  array.reduce(function(a, b){
    return a + b;
}, 0);
}

2 个答案:

答案 0 :(得分:1)

您应该返回 reduce 的结果,没有名为 array 的数组,应该为 arr

return arr.reduce(function(a, b){

const numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10];

function sumNumbers(arr){
  if (arr === undefined || arr.length == 0) {
    return 0;
  }
  return arr.reduce(function(a, b){
    return a + b;
}, 0);
}
console.log(sumNumbers(numbers));

答案 1 :(得分:0)

您需要返回return的结果,并使用相同的变量array

function sumNumbers(array) {
  if (array === undefined || array.length == 0) {
    return 0;
  }
  return array.reduce(function(a, b) {
    return a + b;
  }, 0);
}

const numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10];

console.log(sumNumbers(numbers));

一种较短的方法使用默认数组,并仅返回reduce的结果。

function sumNumbers(array) {
    return (array || []).reduce(function(a, b) {
        return a + b;
    }, 0);
}

const numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10];

console.log(sumNumbers(numbers));