Помогите собрать фильтр массива объектов js
Общая суть сайта(скрипта) выводить список рецептов из имеющихся ингредиентов в наличии. Все работает но столкнулся с такой мыслью что бурбон и виски по "сути" одно и тоже и стоило бы выводить рецепт имея или виски или бурбон но сейчас фильтр жестко привязан к конкретному ингредиенту, вопрос как сделать фильтр так чтоб рецепт выводился если есть виски или бурбон и это можно было как то указать в объекте рецепта с сохранением приоритета если есть оба напитка?
Имеем подобный массив
recipes = [
{
name: "Название1",
img: ".jpg",
ingr: ["whiskey", "liquor_triple_sec", "lemon_juice", "sugar_syrup", "sprite", "ice", "bild"],
size: ["30", "30", "15", "15", "120", "g150", " "],
description: "описание"
},
{
name: "Название2",
img: ".jpg",
ingr: ["bourbon", "liquor_triple_sec", "lemon_juice", "sugar_syrup", "sprite", "ice", "bild"],
size: ["30", "30", "15", "15", "120", "g150", " "],
description: "описание"
},
]
//этот массив содержит ингредиенты в наличии
b = ["bourbon", "whiskey", "liquor_triple_sec","lemon_juice", "sugar_syrup", "sprite", "ice", "bild"];
//сам фильтр
const res = recipes.filter(({ ingr }) => ingr.every(v => b.indexOf(v) !== -1));
Моя хотелка выглядит так, но js выбирает просто первое значение из или. Логика: есть только бурбон показывает 2 рецепта с бурбоном, если есть и виски и бурбон показывает 2 рецепта но один с бурбоном а другой с виски как указано в рецепте что первый напиток важнее
recipes = [
{
name: "Название1",
img: ".jpg",
ingr: [("bourbon" || "whiskey"), "liquor_triple_sec", "lemon_juice", "sugar_syrup", "sprite", "ice", "bild"],
size: ["30", "30", "15", "15", "120", "g150", " "],
description: "описание"
},
{
name: "Название2",
img: ".jpg",
ingr: [("whiskey" || "bourbon"), "liquor_triple_sec", "lemon_juice", "sugar_syrup", "sprite", "ice", "bild"],
size: ["30", "30", "15", "15", "120", "g150", " "],
description: "описание"
},
]
*.includes() запрещен сайт крутиться на телевизоре он его не понимает