如何使用另一个数组中的项过滤typescript数组

时间:2017-11-22 20:18:10

标签: arrays typescript

我有2个阵列:

 [
  {
    "id": 1,
    "name": "All",
  },
  {
    "id": 2,
    "name": "APR",
  },
 {
    "id": 3,
    "name": "TER",
  }]

第二个数组是["APR", "TER"]

我想用第二个数据过滤第一个数组,输出应该是

  [{
    "id": 2,
    "name": "APR",
  },{
    "id": 3,
    "name": "TER",
  }]

尝试使用过滤功能 - 可能吗?

由于 阿南德

2 个答案:

答案 0 :(得分:2)

非常标准地使用过滤方法。只要给它正确的检查条件,你就可以了:



const myArray = [{
  "id": 1,
  "name": "All",
}, {
  "id": 2,
  "name": "APR",
}, {
  "id": 3,
  "name": "TER",
}];

const otherArray = [
  "APR",
  "TER",
];

const filtered = myArray.filter(x => otherArray.includes(x.name));

console.log(filtered)




答案 1 :(得分:1)

您可以使用filter功能过滤数组:

const items =  [
  {
    "id": 1,
    "name": "All",
  },
  {
    "id": 2,
    "name": "APR",
  },
 {
    "id": 3,
    "name": "TER",
  }]

const filterValues = ["APR", "TER"]

const filtered = items.filter(item => filterValues.indexOf(item.name) > -1)