js 数组对象去重/排序

方法一:

var arrObj = [{
                "name": "ZYTX",
                "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
                "gender": "AAAAAA.doc"
            }, {
                "name": "ZYTA",
                "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
                "gender": "BBBBBB.doc"
            }, {
                "name": "ZDTX",
                "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
                "gender": "CCCCCC.doc"
            }, {
                "name": "ZYTX",
                "age": "Y13xG_4wQnOWK1QwJLgg11d0pS4hewePU95UHtpMl3eE81uS74NC-6zu-Rtnw4Ix",
                "gender": "AA.doc"
            }];


            var hash = {};
            arrObj = arrObj.reduce(function(item, next) {
                hash[next.name] ? '' : hash[next.name] = true && item.push(next);
                return item
            }, [])
            console.log(arrObj);

方法二:

var arr1 = [{x:513.4261838440111,y:222},
            {x:270.3404255319149,y:174},
            {x:513.4261838440111,y:111},
            {x:520.5167237931058,y:369.80798782499784},
            {x:520.5167237931058,y:369.80798782499784},
            {x:241.57929926401988,y:381.9650668601638},
            {x:270.3404255319149,y:174},
            {x:241.5792992640199,y:381.9650668601638}
            ]
            var kv = {};
            for (var i = 0; i < arr1.length;) {
                if (kv[arr1[i].x]) {
                    arr1.splice(i, 1);
                }
                else {
                    kv[arr1[i].x] = true;
                    i++;
                }
            }

            console.log(arr1)

方法三:获取id唯一的age为最大的数据

思路:先排序,让id相同,age最大的在最开始位置,然后删除相同数据

var arr3 = [
                {'id':1,'name':'zs','age':18},
                {'id':1,'name':'zs','age':2},
                {'id':1,'name':'zs','age':90},
                {'id':2,'name':'lisi','age':23},
                {'id':2,'name':'lisi','age':10},
                {'id':2,'name':'lisi','age':88},
                {'id':2,'name':'lisi','age':26},
                {'id':3,'name':'lisi','age':45},
                {'id':3,'name':'lisi','age':11}
                ]
                arr3.sort(compare('age'));
                var hash={};
                for(var i=0;i<arr3.length;){
                    if(hash[arr3[i].id]){
                        arr3.splice(i,1);
                    }else{
                        hash[arr3[i].id] = true;
                        i++;
                    }
                }

                console.log(arr3)

排序

var arr = [

    {'name':'dw','age':18},

    {'name':'zdw','age':22},

    {'name':'final','age':12}

]

function objSort(obj1,obj2){

    var val1 = obj1.age;

    var val2 = obj2.age;

    if(val1>val2){

        return 1;

    }else if(val1<val2){

        return -1;

    }else{

        return 0;

    }

}

arr.sort(objSort())

猜你喜欢

转载自blog.csdn.net/a2500397/article/details/77102674
今日推荐