Добрый вечер. Необходимо создать фильтр по нескольким значениям, при этом чтобы значение могло быть массивом и можно было отфильтровать так же по каждому элементу массива.
На текущий момент есть такой вариант:
let filter = (fields, data) => {
return data.filter(item => {
return Object.keys(fields).every(key => {
return fields[key].includes(item[key])
})
})
}
filter(fields_contacts, contacts)
filter_fields: {
organization: ''Организация",
office: "777",
post: "Директор"
}
contacts: [
{
id:1,
organization: ''Организация1",
office: "111",
post: "Служащий"
},
{
id:1,
organization: ''Организация2",
office: "777",
post: "Директор"
},
{
id:3,
organization: ''Организация",
office: "777",
post: "Директор"
},
]
Данный фильтр отрабатывает верно, но необходимо, чтобы поиск был шири и искал не только по значению, а по массиву значений. Пример
fields_contacts: {
organization: ['Организация1', 'Организация2'],
office: ['777'],
post: ['Служащий1', 'Служащий2']
}
Заранее спасибо))