いくつあるかわからない複数の数の最大値・最小値をMath.max()/Math.min()で求める方法

Math.max(1,2,3)

は、当然、3。

var hoge = [1,2,3]
Math.max(hoge)

は、悲しいことにNaN。つまりMath.maxに単純に配列を渡すだけじゃ、期待した動作をしてくれないって事。

var hoge = [1,2,3]
Math.max(hoge[0],hoge[1],hoge[2])

にせんといかんらしい。アホか。
と、思って調べてたら
いくつあるかわからない複数の数の最大値・最小値をMath.max()/Math.min()で求める方法 - ConquestArrow.addEventListener(); - actionscriptグループ
にて言及してた

var hoge = [1,2,3]
Math.max.apply(null, a)

ってやればいいらしい。
最初からこういう仕様になってればいいのに。せめて、ヘルプにかいとてくれればいいのにー。o(`ω´*)oプンスカプンスカ!!


作者さんには感謝。