为了账号安全,请及时绑定邮箱和手机立即绑定

求帮解决一个JS 递归的 查找值的问题

求帮解决一个JS 递归的 查找值的问题

阿波罗的战车 2019-03-04 17:19:04
需求:递归从下面的数据中找到某一个值。例如:传入a1 ,找到a1所有在位置,并添加一个属性 expand: true,因为后台返回的数据层级不确定,得要递归才可以。export const json = [{    "name": "测试1",    "children": []  },  {    "name": "测试2",    "children": [{        "name": "A区",        "children": [{            "name": "a1",            "children": null          },          {            "name": "a2",            "children": null          },        ]      },      {        "name": "B区",        "children": [{            "name": "b1",            "children": null          },          {            "name": "b2",            "children": null          },        ]      }    ]  },]
查看完整描述

2 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞


function addExpand(arr, find){

  for(let k in arr){

   let item = arr[k]

   if(typeof item === 'object'){

      addExpand(item, find);

    } else{

      if (item == find) {

         arr.expand = true

      }

    }

  }

  return arr

}


let nJson = addExpand(json, 'a1')


查看完整回答
反对 回复 2019-03-05
  • 2 回答
  • 0 关注
  • 1431 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信