数组方法整理

时间:2021-02-18 19:03:48
 var arrCompate = function() {
        var json = {},
            result = [];
        return {
            //最大值    
            max: function(arr) {
                return Math.max.apply(Math, arr);
            },
            //最小值
            min: function(arr) {
                return Math.min.apply(Math, arr);
            },
            //去重复
            unique: function(arr) {
                var json = {},
                    result = [];
                console.log();
                for (var i = 0, len = arr.length; i < len; i++) {
                    if (!json[arr[i]]) {
                        json[arr[i]] = arr[i];
                        result.push(arr[i]);
                    }
                }
                return result;
            },
            //升序排序
            sort: function(arr) {
                return arr.sort(function(a, b) {
                    return a - b;
                });
            },
            //降序排序
            descen: function(arr) {
                return arr.sort(function(a, b) {
                    return b - a;
                });

            },
            //数组打乱顺序
            reset: function(arr) {
                return arr.sort(function(a, b) {
                    return Math.random() - 0.5;
                });
            },
            //对象数组排序,大致和上面差不多,只写升序
            objSort:function(arr,name) {
                return arr.sort(function(a, b) {
                    return a[name] - b[name];
                });
            },
        }
    }

    var arry = [1, 2, 3, 4, 5, 2, 3, 4];
    var obj=[{num:1,text:'1'},{num:3,text:'1'},{num:2,text:'1'}];
    var resu = arrCompate().objSort(obj,'num');
    console.log(resu)

<!-- 代码参考自http://luckykun.com/work/2016-10-11/com-func-skill.html -->