配列nums
に対して最小値、最大値、合計値を取得する方法。
// 最大値を取得
let max = Math.max(...nums);
// 最小値を取得
let min = Math.min(...nums);
// 合計値を取得
let sum = nums.reduce((accumulator,currentValue) => accumulator + currentValue, 0);
最大値と最小値についてはMath
のメソッドを使用するだけ。スプレッド構文ではなく配列を渡すと期待値にはならない。理由はmin
やmax
メソッドは数値を期待しているのに対して配列を渡してしまうから。
スプレッド構文を使用すると
let min = Math.min(3, 5, 2, 8, 1);
を渡しているのと同じ意味になる。
また、合計値に関しては下記の通り。
reduce
:配列の各要素に対して関数を左から右へと適用し、その結果を単一の値に累積(または「リデュース」)する。
accumulator
: 累積される値。これは前の呼び出しの結果(初回はinitialValue
)
currentValue
: 現在の要素の値。
を定義している。1つずつ要素を見に行き、それをaccumulator
に累積させている。