JavaScript Filter multiple conditions

by shraddhapaghdar

JavaScript

const filter = {
  address: 'India',
  name: 'Aleena'
};
const users = [{
    name: 'John Doe',
    email: 'johndoe@mail.com',
    age: 25,
    address: 'USA'
  },
  {
    name: 'Aleena',
    email: 'aleena@mail.com',
    age: 35,
    address: 'India'
  },
  {
    name: 'Mark Smith',
    email: 'marksmith@mail.com',
    age: 28,
    address: 'England'
  }
];

const filteredUsers = users.filter((item) => {
  for (var key in filter) {
    if (item[key] === undefined || item[key] != filter[key])
      return false;
  }
  return true;
});

console.log(filteredUsers)

const filteredUsers1 = users.filter(obj => obj.name == filter.name && obj.address == filter.address)
console.log(filteredUsers1)