关于前端优化:极客大学前端进阶训练营2020最新版内置文档资料

8次阅读

共计 519 个字符,预计需要花费 2 分钟才能阅读完成。

极客大学 - 前端进阶训练营【2020 最新版内置文档资料】

准确的路由菜单或树形构造的 JSON 数据递归获取实现总结
在理论开发中,对树形 JSON 数据处理的业务场景十分常见;而且这些数据必然是多层级的,那么很重要的一点就是要做到递归。特地是在动静路由筛选和树形构造数据筛选中。正所谓,“工欲善其事, 必先利其器”。所以本文总结几种用于解决失去咱们业务中所需的真正数据的办法。
二. 实现办法

“splice”办法(不举荐):

阐明:这种办法只适应于唯一性的条件(比方:过滤唯一性 id)的场景。
如果是用在筛选树形数据或者路由菜单(比方:过滤 hidden 为 true)的场景,会因为其实正向删除 index 值,故导致第一次除外的每次遍历递归的 index 值不精确,所以删除的值也是不对的,故不举荐。

代码实现:

// 只实用于唯一性的 id 的递归过滤
function filterData(arr, id) {arr.forEach((item, index) => {if (item.id === id) {arr.splice(index, 1)
    }
    if (item.children && item.children.length) {filterData(item.children, id)
    }
  })
}

正文完
 0