JavaScriptにおけるspreadを使用した配列の極値
次のコードを見てください:
let max = Math.max(1, 2, 3, 4, 5);
ご覧の通り、このコードは数値の中から最大値を 見つけています。しかし、数値が配列として 表現されている場合はどうすればよいでしょうか? 例えば、次のように:
let arr = [1, 2, 3, 4, 5];
残念ながら、次のようにすることはできません:
let arr = [1, 2, 3, 4, 5];
let max = Math.max(arr); // ここで配列を渡すことはできません
もちろん、手動で配列の要素を
Math.maxに記述することはできます。
このように:
let arr = [1, 2, 3, 4, 5];
let max = Math.max(arr[0], arr[1], arr[2], arr[3], arr[4]);
しかし、この場合、あらゆる汎用性が失われます:
このコードは5つの要素を持つ配列に対してのみ
最大値を見つけることになります。
もし配列の要素がそれ以上またはそれ以下だったらどうすればよいでしょうか?解決策があります! spread演算子を使用しましょう:
let arr = [1, 2, 3, 4, 5]
let max = Math.max(...arr);
このコードは、そのシンプルさにもかかわらず、非常に
強力です。なぜならMath.maxは
任意の数の引数を取ることができるので、
spread演算子を使用することで任意のサイズの配列を
利用できるからです!
数値の配列が与えられます。Math.min
とspreadを使用して、配列の最小値を
画面に表示してください。