鍍金池/ 問答/HTML/ 數(shù)組遞歸遍歷,查詢不到某一個元素,就刪除的問題。

數(shù)組遞歸遍歷,查詢不到某一個元素,就刪除的問題。

需求:對后臺返回的數(shù)據(jù)做處理。返回的數(shù)組中,第一個對象的value:[11,21,42],但是children中id不包含42,應(yīng)該用數(shù)組中移除,最終value:[11,21]。同理,第二個數(shù)組中 value:[42]
后臺返回格式:
[
{

"children": [
  {
    "id": 11,
    "typeName": "水果類"
  },
  {
    "id": 21,
    "typeName": "水果類"
  }
],
"title": "水果類",
"value": [11,21,42]

},
{

"children": [
  {
    "id": 42,
    "typeName": "展示類"
  }
],
"title": "展示類",
"value": [11,21,42]

}

回答
編輯回答
痞性

按照你的需求其實value的值對你來說沒用
vale.length=children.length遍歷childrenid值按順序放入value

2017年5月10日 02:44
編輯回答
蝶戀花

謝謝的解答。我拿數(shù)組中的每一個值去比對children的每個ID,如果找到就添加到value中

2018年3月10日 19:06
編輯回答
空痕
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))
})
2017年5月27日 18:06