var?arr?=?[
????{"id":"1001","name":"值1","value":"111"},
????{"id":"1001","name":"值1","value":"11111"},
????{"id":"1002","name":"值2","value":"25462"},
????{"id":"1002","name":"值2","value":"23131"},
????{"id":"1002","name":"值2","value":"2315432"},
????{"id":"1003","name":"值3","value":"333333"}
];
dealUniqueArray('id',arr);
/*propName需要根據(jù)某屬性名進(jìn)行合并分組;arr需要進(jìn)行合并分組的數(shù)據(jù)源*/
function dealUniqueArray(propName,arr){
????????var map?=?{},
? ? ? ? dest?=?[];
? for(vari?=0;i?<?arr.length;i++){
????????var ai?=?arr[i];
? ? ????? if(!map[ai[propName]]){
????????????????var obj={};
? ? ? ????????? obj[propName]=ai[propName];
? ? ? ? ???????? obj.data=[ai];
? ? ? ? ???????? dest.push(obj);
? ? ? ? ???????? map[ai[propName]]?=?ai;
? ? ? ????????}else{
????????????????????for(varj?=0;j?<?dest.length;j++){
????????????????????????????var dj?=?dest[j];
? ? ? ? ? ? ? ? ? ? ?????????if(dj[propName]?==?ai[propName]){
????????????????????????????????????dj.data.push(ai);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ????????}
????????????????????}
????????????}
????}
????console.log('dest',dest);
? ? ? return dest;
}