首页 > 解决方案 > 在对象数组中查找属性值(Javascript)

问题描述

我有以下对象数组。我想检查objArray.

var objArr = [
  {
  "7364234": "hsjd",
  "errorCode": "400"
  },
  {
  "12345": "jd",
  "errorCode": "500-001"
  }
]

下面是找到密钥errorCode是否存在于对象数组中的解决方案。如果我执行如下所示的 console.log,我会得到想要的结果。

const contains = (string) =>
  objArr.findIndex(
    // Is the string contained in the object keys?
    obj => Object.keys(obj).includes(string)
  ) !== -1

console.log(contains('errorCode')) // returns true
console.log(contains('spaghetti')) // returns false

但我想知道 .errorCode 中存在什么值objArray。例如,我想知道errorCode: "500-001"是否存在于objArray. 我怎样才能得到这个结果?有人可以建议吗?

标签: javascriptarraysloopsobjectiteration

解决方案


您可以Array.prototype.some如下使用。

var objArr = [
  {
  "7364234": "hsjd",
  "errorCode": "400"
  },
  {
  "12345": "jd",
  "errorCode": "500-001"
  }
];

const contains = (keyVal) => objArr.some(({ errorCode }) => errorCode.includes(keyVal));
console.log(contains("500"));


推荐阅读