вытянуть из массива все совпадения js
есть есть блок .short-description в котором вот такой текст:
Мидии, сливочный сыр, твердые сорта сыров, кунжут, соус «майонезно-чесночный», рис.
ПРоблема в том что, у меня поиск из этого текста не возможно вытянуть сыр, потому что делал разбиение на запятые, возможно как то регуляркой можно решить этот вопрос (не очень силен в них)? ВОт код:
const founds = [...document.querySelectorAll(".short-description")]
.map((domItem) => [
domItem,
domItem.innerText
.toLowerCase()
.split(",")
.map((el) => el.trim())
])
.filter(([_, item]) => {
for (items of array_f) {
if (item.includes(items.toLowerCase().trim())) {
return items;
}
}
})
.map(([item]) => item.closest('.product'));
console.log(founds);
founds.forEach(el => document.querySelector('.filter-result').append(el));
}
Ответы (1 шт):
Автор решения: azlov
→ Ссылка
const str = "Мидии, сливочный сыр, твердые сорта сыров, кунжут, соус «майонезно-чесночный», рис";
const array = str.split(",");
const result = array.map(elem => elem.trim().toLowerCase()).filter(elem => elem.contains('сыр');
В результате: ["сливочный сыр", "твердые сорта сыров"]