首页 > 解决方案 > 对象中的对象中存在键

问题描述

我需要检查对象对象中是否存在键。我有对象数组,并且在每个对象中我都有另一个对象。我需要检查对象对象中是否存在密钥

var myarr = [{
    hello: "world",
    payload: {
      kekek: 'sdfsdfsdf',
      baby: 'sdfsdfsdfds'
    }
  },
  {
    hello: "world",
    payload: {
      qwe: 'sdfsdfsdf',
      baby: 'sdfsdfsdfds'
    }
  }, {
    hello: "world",
    payload: {
      qwe: 'sdfsdfsdf',
      baby: 'sdfsdfsdfds'
    }
  },
  {
    hello: "world",
    payload: {
      asdf: 'sdfsdfsdf',
      baby: 'sdfsdfsdfds'
    }
  }
]



let pp = myarr.payload.hasOwnProperty('eekey')
console.log(pp).

我需要检查有效载荷中的 kekek。

标签: javascriptnode.jsarraysjsonobject

解决方案


如果我理解正确,您想检查数组的每个对象是否包含payload属性中的特定键。如果是这样,您可以使用in运算符来检查对象中是否存在属性。您可以通过检查是否定义了值来改进此代码段。

let key = 'kekek';
const everyObjectHasKey = myarr.every(item => item.payload && key in item.payload);
console.log(everyObjectHasKey);

在此链接https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every中,您可以看到有关every数组方法的更多信息


推荐阅读