美文网首页
JS 数组求和与数组求平均值

JS 数组求和与数组求平均值

作者: 夹板儿孩 | 来源:发表于2021-04-22 14:50 被阅读0次

    js 数组求和与求平均值,时间紧迫,没从网上获取更简洁的方式。所以我给Array 拓展了两个函数,供大家参考

    如果你还不会 reduce 那么可以 点我学习一下

    我猜你还想看看 数组删除元素

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

    相关文章

      网友评论

          本文标题:JS 数组求和与数组求平均值

          本文链接:https://www.haomeiwen.com/subject/hutfrltx.html