一尘不染

通过多个属性和值过滤对象数组

javascript

是否可以通过多个值过滤对象数组?

例如,在下面的示例中,我可以按term_ids 5和6进行过滤,然后同时键入car吗?

[  
   {  
      "id":1,
      "term_id":5,
      "type":"car"
   },
   {  
      "id":2,
      "term_id":3,
      "type":"bike"
   },
   {  
      "id":3,
      "term_id":6,
      "type":"car"
   }
]

如果可以轻松使用,肯定可以使用库。


阅读 583

收藏
2020-05-01

共1个答案

一尘不染

您可以使用Array.filter

var data = [{

    "id": 1,

    "term_id": 5,

    "type": "car"

  },

  {

    "id": 2,

    "term_id": 3,

    "type": "bike"

  },

  {

    "id": 3,

    "term_id": 6,

    "type": "car"

  }

];



var result = data.filter(function(v, i) {

  return ((v["term_id"] == 5 || v["term_id"] == 6) && v.type == "car");

})



console.log(result)
2020-05-01