添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

假设给定一个 id = 301 ,查找出 list value = id 的对象,并取出对应的 label 值。

list 是一个嵌套的json数据,每一级都可能存在 children 属性, children 中包含跟父级相同的数据结构,如果用嵌套for循环来实现,代码冗长不易阅读,而且性能也不好,所以我们选择使用递归算法来实现。

* 递归函数 * @param setValues 树型数据 * @param valueId 查找的id function recursionGet(setValues, valueId) { let value = null ; for (let index = 0 ; index < setValues.length; index += 1) { if (setValues [index] . value === valueId) { value = setValues[index].label ; break ; if (setValues [index] .children instanceof Array && setValues [index] .children.length > 0) { const text = recursionGet(setValues[index].children, valueId) ; if (text) return text ; return value ; // 调用 const data =recursionGet(list, 301 ) console.log(data) // 输出 行政 复制代码

注意

分类:
前端
标签: