javascript filter array multiple conditions

by John Wick

JavaScript

/** 
https://stackoverflow.com/questions/31831651/javascript-filter-array-multiple-conditions
https://stackoverflow.com/questions/68100791/how-to-filter-multiple-values-from-an-array-in-javascript
**/
var people = [
    {
        name: 'john',
        age: 10,
        gender: 'm'
    },
    {
        name: 'joseph',
        age: 12,
        gender: 'm'
    },
    {
        name: 'annie',
        age: 8,
        gender: 'f'
    }
]
var filters = {
    gender: 'm',
    name: 'joseph'
}

var out = people.filter(person => {
    return Object.keys(filters).every(filter => {
        return filters[filter] === person[filter]
    });
})


console.log(out)