假设我们有一个这样的数组:
let list = [
{
name:'张三',
children:[
{
name:'李四',
children:[
{
name:'王五',
}
]
}
]
},
{
name:'老刘',
children:[
{
name:'啧啧啧',
children:[
{
name:'消息',
}
]
}
]
},
{
name:'老往',
children:[
{
name:'密码',
children:[
{
name:'嗯嗯',
}
]
}
]
}
]
现在需求是在每个name后面拼接一个字符串‘%’前提是children是无限层,你也不知道到底有几层的状态下。
我们需要定义一个函数:如deep()
deep(list){
for (let i = 0; i < list.length; i++) {
const element = list[i];
element.name = element.name + '%'
if(element.children && element.children.length > 0) {
this.deep(element.children)
}
}
},
需要在前面调用这个函数
this.deep(list)
结果:
这个问题的应用场景是echarts,我们要求做旭日图,因为旭日图的格式是无限层的children,需要在name上加上百分比,要是普通的遍历需要知道层级。