数组中的对象元素进行归类,参数值相同的对象放在一起,以数组第一个元素为准
比如以下数据:
// 将以下数组数据以对象中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;
};