array数组扩展方法二、-- 数组中的对象元素进行归类,参数值相同的对象放在一起,以数组第一个元素为准

数组中的对象元素进行归类,参数值相同的对象放在一起,以数组第一个元素为准
比如以下数据:

// 将以下数组数据以对象中id元素进行排序,以第一个元素为准
data = [
    {
        "id": "1",
        "name": "a"
    },{
        "id": "2",
        "name": "b"
    },{
        "id": "3",
        "name": "c"
    },{
        "id": "2",
        "name": "b"
    },{
        "id": "1",
        "name": "a"
    },{
        "id": "2",
        "name": "b"
    },{
        "id": "3",
        "name": "c"
    }
]
// 排序后
data = [
    {
        "id": "1",
        "name": "a"
    },{
        "id": "1",
        "name": "a"
    },{
        "id": "2",
        "name": "b"
    },{
        "id": "2",
        "name": "b"
    },{
        "id": "2",
        "name": "b"
    },{
        "id": "3",
        "name": "c"
    },{
        "id": "3",
        "name": "c"
    }
]

----------
//代码实现
    /** * 数组中的对象元素进行归类,参数值相同的对象放在一起,以数组第一个元素为准 * array:数组 * */
  Array.prototype.sameSort = function(){
        var temp_array = this,return_array = [];
        if( array.length>0){
            for( var i=0;i<array.length;i++ ){
                for ( var j=0;j<temp_array.length; ){
                    if( temp_array[j].id== array[i].id){
                        return_array.push(temp_array[j]);
                        temp_array = temp_array.del(j);
                        j=0;
                    }else{
                        j++;
                    }
                }
            }
        }
        return return_array;
    };

你可能感兴趣的:(array)