JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで配列の最大値を取得する方法:Math.max()とsort()の使い方を徹底解説

JavaScriptでは、Math.max()関数とsort()メソッドを活用することで、配列の中から最大値を簡単に見つけることができます。本記事では、それぞれの方法について具体的なサンプルコードとともにわかりやすく解説します。

1) Math.max()を使う方法

Math.max()は、引数として渡された複数の値の中から最大値を返す組み込み関数です。apply()メソッドと組み合わせることで、配列のすべての要素を一つずつ精査し、その中で最大の値を取得できます。以下の例で具体的な使い方を見ていきましょう。

コード例

<html>
<body>
<script>
    function maximum(value) {
      if (toString.call(value) !== "[object Array]")
      return false;
      return Math.max.apply(null, value);
   }
   document.write(maximum([6,39,55,1,44]));
</script>
</body>
</html>

実行結果

55.

このプログラムでは、まずtoString.call()によって引数が配列であるかどうかを判定し、配列でなければfalseを返すようにしています。その後、Math.max.apply(null, value)により配列の全要素を展開して最大値を算出しています。この手法なら、ループ処理を書かずとも1行で最大値を求められるのが大きなメリットです。

2) sort()を使う方法

sort()メソッドに比較関数を渡すことで、配列の要素を昇順または降順に並べ替えられます。並べ替えた後、lengthプロパティを使って配列の末尾(または先頭)の要素を参照すれば、目的の最大値を取得できます。

コード例

<html>
<body>
<input type ="button" onclick="myFunction()" value = "clickme">
<p id="max"></p>
<script>
   var numbers = [6,39,55,1,44];
   document.getElementById("max").innerHTML = numbers;
   function myFunction() {
   numbers.sort(function(a, b){return a - b});
   document.getElementById("max").innerHTML = numbers;
   document.write(numbers[numbers.length-1]);
   }
</script>
</body>
</html>

上記のプログラムを実行すると、画面には次のような表示になります。

JavaScriptで配列の最大値を取得する方法:Math.max()とsort()の使い方を徹底解説

実行結果

「clickme」ボタンをクリックすると、比較関数function(a, b){return a - b}によって配列が昇順にソートされ、最後の要素として最大値が出力されます。

55

ここでポイントとなるのは、numbers[numbers.length-1]が「昇順ソート後の配列の最後の要素(=最大値)」を指している点です。逆に降順でソートした場合は、配列の先頭numbers[0]が最大値となります。用途に応じて使い分けるとよいでしょう。

  1. HTMLで最大値を設定する方法|max属性の使い方をわかりやすく解説

    HTMLで入力欄に最大値(上限値)を設定するには、<input>要素のmax属性を使用します。max属性を指定することで、ユーザーが入力できる数値や日付の上限を制限でき、不正な値の送信を防ぐことができます。max属性の基本max属性は、type=number、type=range、type=dateなどの入力タイプと組み合わせて使われます。例えば「1〜10までの数値のみ入力させたい」場合は、min属性とmax属性を併用します。コード例以下は、max属性を使って最大値を設定するサンプルコードです。ランキング(順位)を1〜10の範囲で入力できるフォームを作成しています。<!DOC

  2. Pythonでリスト内の最大値を持つ要素を見つける方法

    Pythonのリストから最大値を持つ要素を見つけるには、組み込み関数 max() にリストを引数として渡すだけです。max() 関数はリストを先頭から順に走査し、それまでに見つけた最大値を記録しながら末尾まで進み、最終的にその最大値を返します。基本的な使い方以下は、リスト内の最大値を取得するシンプルな例です。my_list = [2, 3, 1, 5, -1] print(max(my_list))出力結果このコードを実行すると、次のように最大値が出力されます。5最大値のインデックス(出現位置)も取得する方法最大値そのものだけでなく、リスト内で最大値が出現するすべての位置(インデックス)を知り