JS|JS 数组求和与数组求平均值
js 数组求和与求平均值,时间紧迫,没从网上获取更简洁的方式。所以我给Array 拓展了两个函数,供大家参考
如果你还不会 reduce 那么可以 点我学习一下
【JS|JS 数组求和与数组求平均值】我猜你还想看看 数组删除元素
JS 数组求和
/**
* 数组求和
* @param call {Function}适用于对象中的某个属性求和场景,回调时会传回 item, index
* @returns {Number} 返回数组的和。
*/
Array.prototype.sum = function (call) {
let type = Object.prototype.toString.call(call);
if (type === '[object Function]') {
return this.reduce((pre, cur, i) => pre + call(cur, i), 0);
} else {
return this.reduce((pre, cur) => pre + cur);
}
};
//例子
console.log([1, 2, 3, 4, 5].sum());
console.log([{age: 1,}, {age: 2,}, {age: 3}].sum(e => e.age));
JS 数组求平均值
/**
* 数组求平均值
* @param call {Function} 适用于对象中的某个属性求和场景,回调时会传回 item, index
* @returns {Number} 返回数组的平均值。
*/
Array.prototype.avg = function (call) {
let type = Object.prototype.toString.call(call);
let sum = 0;
if (type === '[object Function]') {
sum = this.reduce((pre, cur, i) => pre + call(cur, i), 0);
} else {
sum = this.reduce((pre, cur) => pre + cur);
}
return sum / this.length;
};
console.log([1, 2, 3, 4, 5].avg());
console.log([{age: 1,}, {age: 2,}, {age: 3}].avg(e => e.age));
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 第326天
- Shell-Bash变量与运算符
- 逻辑回归的理解与python示例
- Guava|Guava RateLimiter与限流算法
- 我和你之前距离
- CGI,FastCGI,PHP-CGI与PHP-FPM
- 数组常用方法一