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

数组递归遍历,查询不到某一个元素,就删除的问题。

数组递归遍历,查询不到某一个元素,就删除的问题。

慕森王 2019-02-25 14:20:18
需求:对后台返回的数据做处理。返回的数组中,第一个对象的value:[11,21,42],但是children中id不包含42,应该用数组中移除,最终value:[11,21]。同理,第二个数组中 value:[42]后台返回格式:[{"children": [  {    "id": 11,    "typeName": "水果类"  },  {    "id": 21,    "typeName": "水果类"  }],"title": "水果类","value": [11,21,42]},{"children": [  {    "id": 42,    "typeName": "展示类"  }],"title": "展示类","value": [11,21,42]}
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

let data = [{

  "children": [{

    "id": 11,

    "typeName": "水果类"

  }, {

    "id": 21,

    "typeName": "水果类"

  }],

  "title": "水果类",

  "value": [11]

}, {

  "children": [{

    "id": 42,

    "typeName": "展示类"

  }],

  "title": "展示类",

  "value": [11,21,42]

}]

data.forEach(item => {

  let keys = item.children.map(a => a.id)

  item.value = item.value.filter(i => keys.includes(i))

})


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

添加回答

举报

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