【JavaScript】最大取りたい気持ちだけならループいらないよ【Math.max/Math.min】

【JavaScript】最大取りたい気持ちだけならループいらないよ【Math.max/Math.min】

はじめに

コジマです。

こないだ、配列の最大値を取りたいがためにループで書かれてるソース見て
ちょっと勘弁してよ~ってなったのでこの記事を書いてます。

Math.maxを使えば一発で出せます。

const array1 = [5, 3, 2, 6, 4, 9, 1]

/* ループで最大を出す */
let maxNum = 0
for(const e of array1){
    if(maxNum < e){
        maxNum = e
    }
}
console.log(maxNum) // 9がほしい

/* Math.maxを使う方法 */
console.log(Math.max(...array1)) // 9がほしい

出力はどちらも9となり、挙動としては正しいですが、
Math.max使えば一発です。

どちらが可読性高いとか一目瞭然ですよね。

Math.maxの使い方

Math.maxは与えられた引数の中で最も大きな値を返却します。

console.log(Math.max(1, 2, 3))とすれば3が返ります。

console.log(Math.max(…array1))のように配列の前に「…」をつけると、
配列の各要素を引数として扱ってくれるので覚えておくと便利です。

逆に、最小が欲しいときはMath.minが使えます。

const array1 = [5, 3, 2, 6, 4, 9, 1]

/* ループで最小を出す */
let minNum = 0
let cnt = 0
for(const e of array1){
    if(cnt === 0){
      minNum = e
    }
    if(minNum > e){
        minNum = e
    }
    cnt++
}
console.log(minNum) // 1がほしい

/* Math.minを使う方法 */
console.log(Math.min(...array1)) // 1がほしい

さいごに

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

もっと学びたい人はこちら

JavaScriptをもっと学びたいエンジニアのためにおすすめのUdemy講座を紹介いたします!

JavaScript初心者向けの講座です。
HTML、CSSと合わせて学ぶことができます。
フロントエンド開発の基本的な知識を網羅的に学ぶことができます。
個人的には著作権表記についても触れているところが推せますね。
ウェブ開発入門完全攻略コース – HTML/CSS/JavaScript. プログラミングをはじめて学び創れる人へ!

JavaScriptをより深く学びたい人はこちらがおすすめです。
JavaScript初心者を脱するとよりよいコードを書かなければなりません。
つまずきがちなオブジェクト操作や、非同期処理の仕組みについて学ぶこともできるため、JavaScriptの仕組みから深く学ぶことができます。
【JS】ガチで学びたい人のためのJavaScriptメカニズム

気になった人はぜひ見てみてくださいね!

以上、コジマでした。


JavaScriptカテゴリの最新記事