はじめに
以下のようなオブジェクト配列があるとします。
const priceList = [
{
id: 1,
price: 1300
},
{
id: 2,
price: 400
},
{
id: 3,
price: 100
},
{
id: 4,
price: 17200
}
]
この時、priceの最小値と最大値を取得するにはどうしたらいいでしょうか?
解決策
1. sort()
関数を使う
sort()
で配列をソートしてからその先頭と末尾を取得する方法です。
const sortedPriceList = priceList.map((v) => v.price).sort((a, b) => {
return a - b;
});
const minPrice = sortedPriceList[0];
const maxPrice = sortedPriceList[sortedPriceList.length - 1];
2. Math.min
とMath.max
を使う
const minPrice = Math.min(...priceList.map(item => item.price));
const maxPrice = Math.max(...priceList.map(item => item.price));
Math.min
とMath.max
を使うと一瞬で最小値と最大値が取得できます!