得到的数据格式类似一个一维数组,比如是:
需要的数据类似是一个二维数组,比如是:
解决方法:递归
1、找到判断条件
2、声明一个新的数组接受递归处理后的数据
代码:
let dataArr=[]
res.data.recordList.map(v=>{
if (dataArr.length == 0) {
dataArr.push({ category:v.category,typeName: v.category==0?'通用':v.category==1?'质量':'其他', children: [v] })
} else {
let res = dataArr.some(item=> {//判断类型是否相同,有就添加到当前项
if (item.category == v.category) {
item.children.push(v)
return true
}
})
if (!res) {//如果没找相同类型的添加一个新对象
dataArr.push({category:v.category,typeName: v.category==0?'通用':v.category==1?'质量':'其他', children: [v] })
}
}
})
console.log(dataArr)
this.IndicatorTypeList = dataArr