数组深度递归,无限层childern怎么改变name等属性?

假设我们有一个这样的数组:

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上加上百分比,要是普通的遍历需要知道层级。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值