[英]Check if one element exists in an array of objects
I have the following array of objects:我有以下对象数组:
var memberships = [
{
id: 1,
type: 'guest'
},
{
id: 2,
type: 'member'
}
];
How can I verify if such an array has at least one element with type 'member'?如何验证这样的数组是否至少有一个类型为“成员”的元素?
Note that the array can also have no elements.请注意,数组也可以没有元素。
Use array.some()
使用
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);
Array.some() executes the callback function once for each element present in the array until it finds one where callback returns a truthy value. Array.some()对数组中存在的每个元素执行一次回调函数,直到找到一个回调函数返回真值的元素。 If such an element is found, some() immediately returns true.
如果找到这样的元素,some() 立即返回 true。 Otherwise, some() returns false.
否则,some() 返回 false。
You can use Array#some
method:您可以使用
Array#some
方法:
const memberExists = memberships.some(member => member.type === 'member');
Then, if(memberExists) ...
然后,
if(memberExists) ...
You can use Array#some
你可以使用
Array#some
var memberships = [ { id: 1, type: 'guest' }, { id: 2, type: 'member' } ]; console.log(memberships.some(m=>m.type==='member'));
You can also use find, which returns the first object if found else undefined.您还可以使用 find,如果找到其他未定义的对象,它会返回第一个对象。
let a = memberships.find(o => o.type === 'member');
if (a) {
...do something
}
I think this may help我认为这可能会有所帮助
let resultArray=memberships.filter(function(item) {
return item["type"] === 'member';
});
the result array holds the data of the objects that has 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.