Роман Андреевич,
const arr = [
{
"id" : 1,
"city" : "Москва",
"title" : "ООО Мавзолей",
"type" : ["носки", "аромат"]
},
{
"id" : 2,
"city" : "Татарск",
"title" : "ООО Татарск Продакс",
"type" : ["коровы", "ЖБ плиты"]
}
];
const filter = {id : 2,
city: `Татарск`,
title: ``,
type: `коровы`
};
const rezult = arr.filter(el => Object.keys(filter).every(key => {{
const str = filter[key];
if(!str) return true;
const obj = el[key];
if(!obj) return false;
if(Array.isArray(obj)) return obj.some(a => a.includes(str));
else return obj.toString().includes(str);
}}))
console.log(rezult)