根据条件收集过滤对象的所有属性名称

时间:2019-03-05 21:40:43

标签: arrays angular typescript object filter

我有一个如下数组

[
  {
    "id": 82,
    "name": "fromcreate_date",
    "displayName": "From Create Date",
    "uiControl": "DATERANGE",
  },
  {
    "id": 82,
    "name": "tocreate_date",
    "displayName": "To Create Date",
    "uiControl": "DATERANGE",
  },
  {
    "id": 83,
    "name": "p_is_ut",
    "displayName": "Is UT",
    "uiControl": "HIDDEN",
   }
]

我想基于uiControl === "DATERANGE"过滤此数组,并仅获取数组中过滤对象的 name属性,如下所示。

outputArray = ["fromcreate_date", "tocreate_date"]

1 个答案:

答案 0 :(得分:1)

尝试这个简单的班轮:

const outputArray = this.data.filter(x => x.uiControl === 'DATERANGE').map(x => x.name);