鍍金池/ 問答/HTML/ 關(guān)于js數(shù)組匹配的問題

關(guān)于js數(shù)組匹配的問題

通過用戶選擇的上下車點(diǎn) 挑選出匹配的線路

let  data=[
  {
    name:'a',
    line:[
      {type:'up',place:'上車點(diǎn)一'},
      {type:'up',place:'上車點(diǎn)二'},
      {type:'up',place:'上車點(diǎn)三'},
      {type:'down',place:'下車點(diǎn)一'},
      {type:'down',place:'下車點(diǎn)二'}
      ]
  },
  {
    name:'b',
    line:[
      {type:'up',place:'上車點(diǎn)一'},
      {type:'up',place:'上車點(diǎn)四'},
      {type:'up',place:'上車點(diǎn)五'},
      {type:'down',place:'下車點(diǎn)一'},
      {type:'down',place:'下車點(diǎn)二'}
      ]
  },
  {
    name:'c',
    line:[
      {type:'up',place:'上車點(diǎn)二'},
      {type:'down',place:'下車點(diǎn)一'},
      {type:'down',place:'下車點(diǎn)二'}
      ]
  },
  ]
let upName='上車點(diǎn)一'
let downName='下車點(diǎn)二'

循環(huán)data 按照upName 和 downName 挑選出合適的線路
不知道怎么循環(huán)出來 
求教
data.forEach(function (item) {
    item.line.forEach(function (val) {
      if(val.type==='up' && val.place===upName){
        
      }
    })
  })

回答
編輯回答
紓惘
let upName = '上車點(diǎn)一'
let downName = '下車點(diǎn)二'

data.filter((item) => {
  for (let i in item.line) {
    if (item.line[i].type === 'up' && item.line[i].place === upName) {
      return true
    }
  }
}).filter((item) => {
  for (let i in item.line) {
    if (item.line[i].type === 'down' && item.line[i].place === downName) {
      console.log('合適路線' + item.name)
      return true
    }
  }
})

可以么

2017年10月12日 19:37