數組中的對象元素進行歸類,參數值相同的對象放在一起,以數組第一個元素爲準
比如以下數據:
// 將以下數組數據以對象中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;
};