如何在 React 中检查数组中的对象是否包含键

Nag*_*tna 1 javascript

我是 React 的新手,我陷入了困境。我有一个处于状态的数组,其中包含一个对象。该数组如下所示:

myVar = [
      {
      "a": 1,
      "b":2
  },
  {
    "c":1,
    "d":1
  },
  {
    "e":"",
    "f":4
  }
  ];
Run Code Online (Sandbox Code Playgroud)

我想以某种方式检查数组是否包含键acf通过使用this.state.myVar语法。它包含什么价值并不重要。它可以为空。

我找不到使用 JSX 检查它的方法。

我的输出取决于它。就像如果数组包含一个名为的键a or c or f,那么它将根据可用的键显示数据。我可以完成这部分,但不确定如何检查密钥的可用性。请帮助我。

May*_*kla 5

我找不到使用 JSX 检查它的方法。

这与 JSX 或 React 无关。您需要迭代数组并检查。


您可以使用任何循环和hasOwnProperty来检查对象是否具有该键。一种可能的检查方法是使用#Array.some

像这样:

myVar = [
  {
    "a": 1,
    "b":2
  },
  {
    "c":1,
    "d":1
  },
  {
    "e":"",
    "f":4
  }
];

let isKeyPresent = myVar.some(el => {
  if(el.hasOwnProperty('a') || el.hasOwnProperty('b') || el.hasOwnProperty('f'))
    return true;
})

console.log('isKeyPresent', isKeyPresent);
Run Code Online (Sandbox Code Playgroud)