最近项目里遇到一个处理数据的问题,返回的数据很多都是一个类别下的子数据,根据名称key进行分类,下面是一个demo,如有不足之处,期待交流。
原始数据
处理方法
function dataDeal(data){
var listArr = [];
data.forEach(function(el,index){
for(var i=0;i<listArr.length;i++){
// 对比相同的字段key,相同放入对应的数组
if(listArr[i].Company == el.company){
listArr[i].listInfo.push({
number: el.number,
name: el.name,
date: el.date
});
return;
}
}
// 第一次对比没有参照,放入参照
listArr.push({
Company: el.company,
listInfo: [{
number: el.number,
name: el.name,
date: el.date
}]
});
});
return listArr;
}
效果图
处理后的数据
此方法只是针对本案例的处理方式,可依照个人需求进行定制,希望能帮到有需要的朋友。
网友评论