Вы можете использовать .every()
для этого.
Вот пример:
checked = [
'orange', 'apple', 'juice'
]
products = [{
title: 'this is product title',
categories: [
'apple', 'juice'
]
}];
const filteredProducts = products.filter(({ categories }) => categories.every(cat => checked.includes(cat)));
console.log(filteredProducts);
Это вернет массив продуктов, которые имеют массив categories
со всеми его значениями, включенными в массив checked
.
I'mне уверен, что это именно то, что вы пытаетесь сделать, если вместо этого вы хотите получить все продукты с массивом categories
, который имеет хотя бы одно из своих значений в массиве checked
, используйте .some()
вместо .every()
.