Sometimes, we want to filter array by multiple conditions with JavaScript.
In this article, we’ll look at how to filter array by multiple conditions with JavaScript.
How to filter array by multiple conditions with JavaScript?
To filter array by multiple conditions with JavaScript, we can use the array filter
method.
For instance, we write
const filter = {
address: "England",
name: "Mark",
};
const users = [
{
name: "John",
email: "johnson@mail.com",
age: 25,
address: "USA",
},
{
name: "Tom",
email: "tom@mail.com",
age: 35,
address: "England",
},
{
name: "Mark",
email: "mark@mail.com",
age: 28,
address: "England",
},
];
const filteredUsers = users.filter((item) => {
for (const key of Object.keys(filter)) {
if (item[key] === undefined || item[key] !== filter[key]) {
return false;
}
}
return true;
});
console.log(users);
to call users.filter
with a callback.
In the callback, we loop through the filter
object’s keys we get from Object.keys
.
In the loop, we check the value of each filter
value to see if they’re what we’re looking for.
If they’re not, we return false
.
Otherwise, we return true
to include it in the filtered array returned.
Conclusion
To filter array by multiple conditions with JavaScript, we can use the array filter
method.