Как получить минимальные значения среди свойств внутри массива объектов?

#javascript #reactjs

#javascript #reactjs

Вопрос:

В React у меня есть объект, подобный:

 shirt : {
title : "Abc",
material : "cotton",
options : [
    0 : {
    price: 10,
    color: red
    },
    1 : {
    price: 20,
    color: green
    },
    2 : {
    price: 30,
    color: blue
    },
}
  

На странице каталога я хочу отобразить только самый дешевый вариант («От 10 долларов») для каждой рубашки.

Для отображения всех рубашек я использую функцию map:

 shirts.map((shirt) => (<div>{shirt.title}</div><div>{shirt.material}</div>))
  

Как я могу показать только самую дешевую цену?

Я не могу использовать {shirt.options.price[0]} , потому что первый элемент массива не всегда имеет самую дешевую цену.

Ответ №1:

Вы могли бы сделать:

 const minPrice = Math.min(...shirt.options.map(({price}) => price))
const cheapeastShirt = shirt.options.find({price} => minPrice === price)