фильтрация массива обьектов по наличию свойства в этом обьекте
есть такой массив:
export const products = [
{
image: redLove,
title: "Red Love Cup",
price: "$25.00",
oldPrice: "$37.00 USD",
},
{
image: blackTea,
title: "Black Tea Cup",
price: "$15.00",
oldPrice: "$29.00 USD",
},
{
image: essentials,
title: "B&W Essentials Mug",
price: "$12.00",
oldPrice: "$19.00 USD",
},
{
image: winterStyle,
title: "Winter Style Mug",
price: "$25.00",
},
{
image: ceramic,
title: "Ceramic Tea",
price: "$46.00",
},
{
image: noHandleBar,
title: "No Handle Bar Cup",
price: "$34.00",
},
{
image: espresso,
title: "Espresso Cup by Mugs.co",
price: "$25.00",
},
{
image: pinkPremium,
title: "Pink Premium Ceramic",
price: "$99.00",
},
{
image: summerDesigner,
title: "Summer Designer Cup",
price: "$29.00",
},
];
При нажатии на радиобатон "ВСЕ" отрендерить все обьекты! При нажатии на радиобатон "Скидки" отрендерить ТОЛЬКО обьекты со свойстом "oldPrice"!
Компонент в котором мапиться массив:
<div className={styles.imgWrapper}>
{products.map((item) => (
<ProductCard
image={item.image}
key={item.title}
title={item.title}
price={item.price}
oldPrice={item.oldPrice}
/>
))}
</div>
Ответы (1 шт):
Автор решения: yeasyh
→ Ссылка
<div className={styles.imgWrapper}>
{
products.map((item) => (
if ('oldPrice' in item) {
<ProductCard
image={item.image}
key={item.title}
title={item.title}
price={item.price}
oldPrice={item.oldPrice}
/>
}
))}
</div>