let a =[{parentMeasure:null,// 为空则没有父表头measure:'指标1'},{parentMeasure:'指标1',// 父表头为指标1measure:'指标2'},{parentMeasure:'指标1',measure:'指标3'},{parentMeasure:'指标3',measure:'指标4'},{parentMeasure:'指标3',measure:'指标5'},{parentMeasure:'',// 为空则没有父表头measure:'指标6'}]
二、目标嵌套数组(树)
let res =[{parentMeasure:null,measure:'指标1',children:[{parentMeasure:'指标1',measure:'指标2'},{parentMeasure:'指标1',measure:'指标3',children:[{parentMeasure:'指标3',measure:'指标4'},{parentMeasure:'指标3',measure:'指标5'}]}]},{parentMeasure:'',measure:'指标6'}]
三、实现
// 找出一级表头let tree = a.filter(it=>!it.parentMeasure)functionconvert(arr){
arr &&
arr.forEach(it=>{let p = it.measure
let children = a.filter(item=> item.parentMeasure === p)if(children && children.length >0){
it.children = children
convert(it.children)}})}convert(tree)