我是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);
}
答案 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));