当我创建一个简单的Visual Studio项目并向其添加JavaScript和HTML项目时,我似乎可以访问所有内置函数,例如indexOf()
,search()
,slice()
,range()
等......
但是,当我尝试使用sum()
函数(例如console.log(sum(range(1, 10)));
)时,我收到以下错误消息:
未捕获的ReferenceError:未定义总和
将此邮件放在双引号中并在Google中添加JavaScript关键字并没有显示一个网页,告诉我我缺少的内容,因此这里有一个基本问题。
我是否遗漏了包含sum
的图书馆的内容?我错误的是只有这个特殊功能无法识别?
答案 0 :(得分:4)
Javascript中没有内置的sum()
函数。
您可以使用reduce()
轻松创建一个:
function sum(arr) {
return arr.reduce(function (a, b) {
return a + b;
}, 0);
}
var numbers = [1, 2, 3];
console.log(sum(numbers));
或使用reduce()
作为oneliner:
var numbers = [1, 2, 3];
var totalSum = numbers.reduce(function (a, b) { return a + b; }, 0);
console.log(totalSum);
答案 1 :(得分:-1)
只是为了它,这是一个不错的ES6版本:
const sum = (arr=[]) => arr.reduce((total, val) => total + val);