数据处理——将对象处理成对象数组
后端数据结构为对象,在前端页面展示时需要遍历数组,按不同类型数据展示。所以需要将数据处理成data2的格式。
问题:在遍历中声明obj变量,每次循环都会初始化obj,所以控制台输出错误,格式为 {},{},{salary201:"38293.223"},{},{}....
分析:将声明obj变量,放到遍历之外,那筛选出的数据就会加入同一个obj中。即同类数据分类在一起。最后将4个obj添加入arr数组中,即可获取理想的数据格式。
getData(){
let data={
salary201:"38293.223",
salary202:"38293.223",
salary203:"38293.223",
salary204:"38293.223",
salary205:"38293.223",
salaryLast201:"874368.4324",
salaryLasty201:"93.223",
salaryLast202:"874368.4324",
salaryLasty202:"93.223",
salaryLast203:"874368.4324",
salaryLasty203:"93.223",
salaryLast204:"874368.4324",
salaryLasty204:"93.223",
salaryLast205:"874368.4324",
salaryLasty205:"93.223",
}
var arr = new Array();
//问题核心:将同类数据放到同一个obj中
let obj1={}
let obj2={}
let obj3={}
let obj4={}
for(var key in data){
if(key.indexOf('201')!=-1){
obj1[key]=data[key]
}else if(key.indexOf('202')!=-1||key.indexOf('203')!=-1){
obj2[key]=data[key]
}else if(key.indexOf('204')!=-1){
obj3[key]=data[key]
}else if(key.indexOf('205')!=-1){
obj4[key]=data[key]
}
}
arr.push(obj1)
arr.push(obj2)
arr.push(obj3)
arr.push(obj4)
console.log(arr)
//需要的数据结构
// let data2=[
// {
// salary201:"38293.223",
// salaryLast201:"874368.4324",
// salaryLasty201:"93.223",
// },
// {
// salary202:"38293.223",
// salaryLast202:"874368.4324",
// salaryLasty202:"93.223",
// }...
//]
},