zoukankan      html  css  js  c++  java
  • JS数组方法扩展

    /****************************************************
    *CreateBy:joe zhou
    *CreateDate:2011-9-20
    *Description:数组统计函数
    ****************************************************/
    $.extend({
        max: function (arr) {
            return cacl(arr, function (item, max) {
                if (!(max > item)) {
                    return item;
                }
                else {
                    return max;
                }
            });
        },
        min: function (arr) {
            return cacl(arr, function (item, min) {
                if (!(min < item)) {
                    return item;
                }
                else {
                    return min;
                }
            });
        },
        sum: function (arr) {
            return cacl(arr, function (item, sum) {
                if (typeof (sum) == 'undefined') {
                    return item;
                }
                else {
                    return sum += item;
                }
            });
        },
        avg: function (arr) {
            if (typeof (arr) == 'undefined' || arr.length == 0) {
                return 0;
            }
            return this.sum(arr) / arr.length;
        }
    });
    
    $.fn.extend({
        max: function () {
            return $.max(this.get());
        },
        min: function () {
            return $.min(this.get());
        },
        sum: function () {
            return $.sum(this.get());
        },
        avg: function () {
            return $.avg(this.get());
        }
    });
    
    function cacl(arr, callback) {
        var ret;
        for (var i=0; i<arr.length;i++) {
            ret = callback(arr[i], ret);
        }
        return ret;
    }
    
    Array.prototype.max = function () {
        return cacl(this, function (item, max) {
            if (!(max > item)) {
                return item;
            }
            else {
                return max;
            }
        });
    };
    Array.prototype.min = function () {
        return cacl(this, function (item, min) {
            if (!(min < item)) {
                return item;
            }
            else {
                return min;
            }
        });
    };
    Array.prototype.sum = function () {
        return cacl(this, function (item, sum) {
            if (typeof (sum) == 'undefined') {
                return item;
            }
            else {
                return sum += item;
            }
        });
    };
    Array.prototype.avg = function () {
        if (this.length == 0) {
            return 0;
        }
        return this.sum(this) / this.length;
    };
    
  • 相关阅读:
    负载均衡的基础技术种类
    scp基本使用方法
    给linux添加yum源。
    Linux 克隆虚拟机引起的“Device eth0 does not seem to be present, delaying initialization”
    FastDFS-单机版安装
    已安装nginx动态添加模块
    FastDFS
    七、CentOS 6.5 下 Nginx的反向代理和负载均衡的实现
    www.xxx.com 与 m.xxx.com 的Nginx服务器实现
    六、CentOS 6.5 下Nginx的配置
  • 原文地址:https://www.cnblogs.com/kingge/p/2183088.html
Copyright © 2011-2022 走看看