MultiFilter with Multiple Criterias
Fri Jun 30 2023 15:37:24 GMT+0000 (Coordinated Universal Time)
Saved by
@devton
#javascript
@param -> items : Conjunto de datos a recorrer, este debe de ser un Array de Objetos.
@param -> filters : Conjunto de criterior y valores a buscar, el parametro debe de ser de tipo objeto dentro de la cual debe de haber objetos de tipo array, como se muestra en el ejemplo de las notas.
const multiFilter = (items, filters) => {
const filterKeys = Object.keys(filters);
return items.filter(item => {
return filterKeys.every(key => {
if (!filters[key].length) return true;
if (Array.isArray(item[key])) {
return item[key].some(keyEle => filters[key].includes(keyEle));
}
return filters[key].includes(item[key]);
});
});
};
content_copyCOPY
El parametro filters debe de ser con la siguiente estructura:
const collectedTrueKeys = {
color: [],
gender: [],
material: [],
category: []
};
https://betterprogramming.pub/creating-a-multi-filter-function-to-filter-out-multiple-attributes-javascript-react-rails-5aad8e272142
Comments