繁体   English   中英

检查一个元素是否存在于对象数组中

[英]Check if one element exists in an array of objects

我有以下对象数组:

var memberships = [
  {
    id: 1,
    type: 'guest'
  },
  {
    id: 2,
    type: 'member'
  }
];

如何验证这样的数组是否至少有一个类型为“成员”的元素?

请注意,数组也可以没有元素。

使用array.some()

 var memberships = [{ id: 1, type: 'guest' }, { id: 2, type: 'member' } ]; var status = memberships.some(function(el) { return (el.type == 'member'); }); console.log(status);

数组.some()

Array.some()对数组中存在的每个元素执行一次回调函数,直到找到一个回调函数返回真值的元素。 如果找到这样的元素,some() 立即返回 true。 否则,some() 返回 false。

您可以使用Array#some方法:

const memberExists = memberships.some(member => member.type === 'member');

然后, if(memberExists) ...

你可以使用Array#some

 var memberships = [ { id: 1, type: 'guest' }, { id: 2, type: 'member' } ]; console.log(memberships.some(m=>m.type==='member'));

您还可以使用 find,如果找到其他未定义的对象,它会返回第一个对象。

let a = memberships.find(o => o.type === 'member');

if (a) {
  ...do something
}

我认为这可能会有所帮助

let resultArray=memberships.filter(function(item) {
     return item["type"] === 'member';
});

结果数组保存具有成员类型的对象的数据

    var memberships = [
        {
            "Name": "family_name",
            "Value": "Krishna"
        },
        {
            "Name": "email",
            "Value": "harikrishnar88@gmail.com"
        }
    ];

    let resultArray=memberships.filter(function(item) {
      return item["Name"] === 'email';
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM