Filters an array of objects.
npm i deep-array-filter
the property $
will search in all keys.
let filterBy = {
$: 'wayne',
firstname: 'john',
age: 18,
address: {
city: 'Basel'
}
};
Define type of your filters:
If not defined it will default to includes
.
let filterTypes = {
age: 'gt',
address: {
city: 'gt'
}
}
let filteredArr = filter(arr, filterBy, filterTypes)
Currently there are following filters defined:
- includes - substring matching
- gt - greater than
- lt - less than
If you need more, open an Issue or send a PR.
If you need more or different filters, you can provide you custom compare functions.
let filterType = {
age: 'customFilter'
};
let comparator = {
customFilter: (value, filter) => {
return value > filter;
}
};
let filteredArr = filter(arr, filterBy, filterTypes, comparator)