オブジェクトの配列内のプロパティの最大値を見つける 質問する

オブジェクトの配列内のプロパティの最大値を見つける 質問する

次の JSON スライスで最大の「y」値を取得するための、非常に迅速でクリーンかつ効率的な方法を探しています。

[
  {
    "x": "8/11/2009",
    "y": 0.026572007
  },
  {
    "x": "8/12/2009",
    "y": 0.025057454
  },
  {
    "x": "8/13/2009",
    "y": 0.024530916
  },
  {
    "x": "8/14/2009",
    "y": 0.031004457
  }
]

for ループが唯一の方法でしょうか? 何とか を使用したいと思っていますMath.max

ベストアンサー1

y内のオブジェクトの最大値を見つけるにはarray:

Math.max.apply(Math, array.map(function(o) { return o.y; }))

またはより現代的な JavaScript では:

Math.max(...array.map(o => o.y))

警告:

この方法はお勧めできません。reduce を使用することをお勧めします。配列が大きい場合、Math.max多数の引数で呼び出され、スタック オーバーフローが発生する可能性があります。

おすすめ記事