>웹 프론트엔드 >JS 튜토리얼 >배열 통계 함수를 구현하기 위한 js 배열 메소드 확장_기본 지식

배열 통계 함수를 구현하기 위한 js 배열 메소드 확장_기본 지식

WBOY
WBOY원래의
2016-05-16 16:52:521240검색
코드 복사 코드는 다음과 같습니다.

/**************************************************** *
*CreateBy:joe zhou
*설명: 배열 통계 함수
******************************** * **********************/
$.extend({
    최대: 함수(arr) {
        return cacl(arr, 함수(항목, 최대) {
if (!(최대 > 항목)) {
               반품 항목;
            }
            else {
               최대 반환;
            }
        });
    },
min: 함수(arr) {
        return cacl(arr, function(item, min) {
           if (!(min < item)) {
              return item;
            }
            그 외 {
               return min;
            }
        });
    },
    sum: 함수(arr) {
        return cacl(arr, 함수(항목, 합계) {
if (typeof (sum) == 'undefine') {
               return item;
             else {
               return sum = item;
            }
        });
    } ,
    avg: 함수(arr) {
        if (typeof (arr) == 'undefine' || arr.length == 0) {
            return 0;
        }
        return this .sum(arr) / arr.length;
    }
});

$.fn.extend({
    max: function () {
        return $.max( this.get());
    },
    min: 함수 () {
        return $.min(this.get());
    },
    sum: 함수 () {
        return $.sum(this.get());
    },
    avg: 함수 () {
        return $.avg(this.get());
    }
});

function cacl(arr, callback) {
    var ret;
    for (var i=0; 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 < 항목)) {
            반품 항목;
        }
        else {
            return min;
        }
    });
};
Array.prototype.sum = function () {
    return cacl(this, function (item , sum) {
        if (typeof (sum) == 'undefine') {
           항목 반환;
        }
        else {
           return sum = 항목;
        }
});
};
Array.prototype.avg = function () {
    if (this.length == 0) {
        return 0;
    }
    이를 반환하세요. 합계(this) / this.length;
};
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.