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