最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Check if one element exists in an array of objects - Stack Overflow

programmeradmin6浏览0评论

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.

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.

Share Improve this question edited Feb 15, 2019 at 6:20 kukkuz 42.4k6 gold badges64 silver badges102 bronze badges asked Apr 20, 2017 at 12:12 Miguel MouraMiguel Moura 39.5k97 gold badges289 silver badges531 bronze badges 1
  • Does this answer your question? Check if object value exists within a Javascript array of objects and if not add a new object to array – Yogi Commented Dec 24, 2020 at 10:57
Add a ment  | 

6 Answers 6

Reset to default 15

Use array.some()

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

var status = memberships.some(function(el) {
  return (el.type === 'member');
});

/*
  // Simplified format using arrow functions
  var status = memberships.some(el => el.type === 'member')
*/
console.log(status);

Array.some()

Array.some() executes the callback function once for each element present in the array until it finds one where callback returns a truthy value. If such an element is found, some() immediately returns true. Otherwise, some() returns false.

You can use Array#some method:

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

Then, if(memberExists) ...

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

You can use 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.

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

if (a) {
  ...do something
}
    var memberships = [
        {
            "Name": "family_name",
            "Value": "Krishna"
        },
        {
            "Name": "email",
            "Value": "[email protected]"
        }
    ];

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

评论列表(0)

  1. 暂无评论