Помогите понять как правильно использовать filter внутри switch
Здраствуйте, проблема с построением filter внутри switch , есть массив с объектами, мне нужно выстроить фильтрацию товаров , вот мой код, но он не рабочий
switch (target.id) {
case 'all':
show = [...goods];
break;
case 'new':
show = goods.filter(i => goods[i].badge === "новинка")
break;
case 'sale':
show = goods.filter(i => goods[i].badge === "скидка")
break;
case 'low-price':
show = goods.filter(i => goods[i].price.current <= 1000)
break;
case 'high-price':
show = goods.filter(i => goods[i].price.current >= 1000)
break;
}
Прикрепляю кусочек массива чтоб было понятнее
let goods = [
{
"id": 14,
"href": "https:...",
"name": "...",
"img": [
{
"preview": "https:..."
}
],
"price": {
"old": 806,
"current": 549,
},
"badge": "новинка"
},
внутри show скопирован массив goods который я потом вывожу вместо goods
Источник: Stack Overflow на русском