JavaScript:如何检查数组对象是否包含特定值

时间:2020-02-17 21:54:23

标签: javascript arrays if-statement

我有这个数组:

[
  {
    "active": true,
    "name": "agency one"
  },
  {
    "active": false,
    "name": "agency two"
  },
  {
    "active": true,
    "name": "agency three"
  },
  {
    "active": false,
    "name": "agency four"
  }
]

还有一些类似的数据:

{
    "domain": "agency one",
    "url": "https://....",
    "title": "some title",
    "img": "https://.....jpg",
    "tag": "some tag",
}

如何检查代理是否处于活动状态?

4 个答案:

答案 0 :(得分:1)

假设变量agencies保存帖子中包含的数组:

const activeAgencies = agencies.filter(agency => {
    return agency.active === true
  })

然后activeAgencies将是一个仅包含标记为活动的代理对象的新数组。

答案 1 :(得分:1)

您可以使用以下方法:

.find()

.filter()

.findIndex()

const firstActiveAgency = arr.find(item => item.active);

const allActiveAgencies = arr.filter(item => item.active);

答案 2 :(得分:1)

使用.filter()

console.log(array.filter(items => {
  return items.active === true
//should return every "active that is set to true"
}))

答案 3 :(得分:0)

问题的最终答案:

let agenciesList = 
[
  {
    "active": true,
    "name": "agency one"
  },
  {
    "active": false,
    "name": "agency two"
  },
  {
    "active": true,
    "name": "agency three"
  },
  {
    "active": false,
    "name": "agency four"
  }
];

let allActiveAgencies = agenciesList.filter(item => item.active);

let newArray = allActiveAgencies.map(item => item.name);

console.log(newArray); // ["agency one","agency three"]
console.log(newArray.includes("agency one")); // true