Вы можете взять массив с критериями поиска и отфильтровать массив, взяв ключ и значение для проверки.
var data = { searchData: [{ description: "ISU ISU", tags: { portfolio: ["p1", "p2", "p3"], industry: ["i1", "i2", "i3"] } }, { description: null, tags: { portfolio: ["p1", "p2", "p3"], industry: ["i1", "i4", "i5"] } }, { description: null, tags: { portfolio: ["p4", "p5", "p6"], industry: ["i1", "i2", "i3"] } }] },
search = [["portfolio", "p1"], ["industry", "i1"]],
result = data.searchData.filter(({ tags }) => search.every(([k, v]) => tags[k].includes(v)));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }