@ou-imdt/utils
Version:
Utility library for interactive media development
13 lines • 468 B
JavaScript
/**
* finds the items within list that include the same key/value pairs as filter
* @param {object} filter - hash of key/values to check against
* @returns {array}
*/
export default function filterWith(list, filter) {
const entries = Object.entries(filter).map(([key, value]) => {
return [key, Array.isArray(value) ? value : [value]];
});
return list.filter(resource => {
return entries.every(([key, value]) => value.includes(resource[key]));
});
}