1.原数组
[{"city":"平顶山","cell_level":"A","num":10.75},
{"city":"平顶山","cell_level":"B","num":10.75},
{"city":"平顶山","cell_level":"C","num":10.75},
{"city":"平顶山","cell_level":"D","num":10.75},
{"city":"平顶山","num":10.75}.......]
2.想要的数组
[{"city":"平顶山","A-cell_level":"A","A-num":10.75,"B-cell_level":"B","B-num":10.75,"C-cell_level":"C","C-num":10.75,"D-cell_level":"D","D-num":10.75,"cell_level":"ABCD","num":10.75},
{"city":"郑州","A-cell_level":"A","A-num":10.75,"B-cell_level":"B","B-num":10.75,"C-cell_level":"C","C-num":10.75,"D-cell_level":"D","D-num":10.75,"cell_level":"ABCD","num":10.75}]
3.js
var objarr=[
[{f:'cell_level',n:'小区级别'},{f:'num1',n:'小区数量'}],
[{f:'cell_level',n:'小区级别'},{f:'ctznum',n:'xx小区数量'}],
[{f:'cell_level',n:'小区级别'},{f:'cxnum',n:'xx小区数量'}],
[{f:'cell_level',n:'小区级别'},{f:'zeronum',n:'xx小区数量'}],
[{f:'cell_level',n:'小区级别'},{f:'downum',n:'xx低流量小区数量'}]
]
var result=[],h=1;
var obj=objarr[h]
arr.forEach(item=> {
let flag = result.find(item1=> item1.city === item.city )
if (!flag) {
var ob=item;
judge(item,obj,ob);
result.push(ob)
} else {
judge(item,obj,flag)
}
})
console.log(result)
function judge(item,obj,flag){
if(item.cell_level==='A'){
for(var k=0;k<obj.length;k++){
flag['A-'+obj[k].f]=item[obj[k].f]
}
}else if(item.cell_level==='B'){
for(var k=0;k<obj.length;k++){
flag['B-'+obj[k].f]=item[obj[k].f]
}
}else if(item.cell_level==='C'){
for(var k=0;k<obj.length;k++){
flag['C-'+obj[k].f]=item[obj[k].f]
}
}else if(item.cell_level==='D'){
for(var k=0;k<obj.length;k++){
flag['D-'+obj[k].f]=item[obj[k].f]
}
}else{
for(var k=0;k<obj.length;k++){
flag[obj[k].f]=item[obj[k].f];
};
}
}