js递归算法

这篇博客探讨了在JavaScript中如何递归处理树形数据结构,特别是针对具有children属性的对象。作者提供了一个名为`labelData`的函数,该函数遍历数组并优化子节点。当子节点数量为1时,将子节点合并到父节点中。同时,如果路径匹配当前路由,函数会返回匹配项并构建paneData数组。这个过程对于理解和操作层级数据在前端开发中至关重要。
摘要由CSDN通过智能技术生成

js递归一个数组

当我开发项目的时候有时候遇到这样的数据结构 列如树形数据

递归这个数组

 let labelData= function (datalist) {
        console.log(datalist);
      for (var i in datalist) {
        var obj = datalist[i]
        if (obj.children) {
          if (obj.children.length === 1) {
            obj.child = obj.children[0]
          } else {
            obj.child = obj.children
          }
          labelData(obj.children)
        } else {
          if (obj.path === this.$route.path) {
            let paneData.push({
              name: obj.name,
              path: obj.path,
              meta: {
                id: obj.name,
                title: obj.meta.title,
                particulars: false
              }
            })
            return obj
          }
        }
      }
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值