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));

    推荐阅读