2011年10月31日に投稿

[Javascript]配列の要素の中から最大の数値を取り出す

与えた引数の中から最大値を取り出すには、Math.maxメソッドを使えばよいのですが、Math.maxメソッドは引数に配列を与えることができません。そこでapplyメソッドを使うことでそれを解決します。

Math.maxメソッドは下記のように複数の引数を与えるとその中から最大値を返してくれます。ですが配列を渡すと結果はNaNになります。

先日の記事でも書きましたが、applyメソッドは第二引数に渡された配列を複数の引数として呼び出し元のメソッドを実行してくれます。その性質を利用すると下記のようになります。

ここではthisは使っていないので、thisにセットされるオブジェクトは何でもよいのです。ですのでnullにしてあります。(thisにnullが入っている状態?なのか、この辺りは後々調べたいと思います。)

この使い方って始めから想定されていたんでしょうかね。後から偶然applyメソッドの仕様をうまく利用できたような感じはします。

関連記事

2 Responses to “[Javascript]配列の要素の中から最大の数値を取り出す”

  1. anonymous より:

    初めから

  2. admin より:

    コメントありがとうございます。
    この使い方を想定してるなんて作った人は頭の中が一体どうなってるんでしょうね…(褒める意味で)

Leave a Reply