js 如何快速计算数组数量总和

7 篇文章 1 订阅

在工作中会经常有计算数量总和的功能,在以前实现这个功能的时候,会遍历数组里面的数量,一遍一遍的循环计算,例如,想要快速计算数组 [1,2,3,4,5],以前会这样写:

var numArray = [1,2,3,4,5];
var sum = 0;
for (var i = 0; i < numArray.length; i++){
	sum += numArray[i]
}
 console.log(sum); //15

但是现在,只需要用一行代码就能实现这个功能,这个功能我们需要用到这个方法 redyce(),兼容性还不差,能兼容到 IE9 满足到大部分的工作场景,但是如果需要更低的浏览器兼容,就只能使用上面的那种老方法了。

let numArray = [1,2,3,4,5];
numArray.reduce((accumulator, currentValue) => Number(accumulator) + Number(currentValue)); //15

但是如果当浏览器不兼容箭头函数,那我们可以使用下面的这种方法?

let numArray = [1,2,3,4,5];
numArray.reduce(function (accumulator, currentValue) {
  return accumulator + currentValue;
}, 0); //15

这里的这个方法最后的 0 意思是第一次调用函数时的第一个参数值也就是初始值,如果没有提供该值,则会直接使用数组用的第一个元素,在一个没有初始值的空数组上调用 reduce,则会直接报错,例如?。

[].reduce(function (accumulator, currentValue) {
  return accumulator + currentValue;
});
//Uncaught TypeError: Reduce of empty array with no initial value

更多详细信息可以查看这里:reduce()


有问题欢迎留言一起交流,路还很长,未完待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值