zukucode
主にWEB関連の情報を技術メモとして発信しています。

JavaScript 配列の要素で最大値・最小値を取得する

JavaScriptで配列の要素の中で最大または最小のものを取得します。

var arr = [1, 2, 3, 5, 3];
console.log(Math.max.apply(null, arr)); // 5
console.log(Math.min.apply(null, arr)); // 1

解説

Math.max.apply

Math.max(1, 2, 3)と指定すると引数の中での最大値を返します。

引数の個数は可変なので、Math.max(1, 2, 3, 4, 5)のように必要な数だけ引数を指定できます。

しかしMath.max([1, 2, 3])のように1つの引数に配列を指定できません。

そのため、applyを追加し、applyの第1引数にnull(実際はnull以外でも何でもよいです)を指定し、第2引数に配列を指定します。

すると、第2引数の配列が引数として展開されてMath.maxが実行されます。

ES2015での方法

ES2015ではスプレッド演算子で配列を展開できるのでapplyは不要になり、非常にシンプルになります。

var arr = [1, 2, 3, 5, 3];
console.log(Math.max(...arr)); // 5
console.log(Math.min(...arr)); // 1

関連記事