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

JavaScriptで配列の中から最大値を取得して返す方法

本記事では、数値の配列を受け取り、その中から最大の要素を見つけ出して返すJavaScript関数の実装方法を解説します。関数は配列を先頭から順に走査し、要素同士を比較しながら最も大きい値を特定する仕組みです。

サンプルコード

実際のコードは以下のようになります。

const arr = [5, 3, 20, 15, 7];
const findGreatest = (arr = []) => {
   let greatest = -Infinity;
   if(!arr?.length){
      return null;
   };
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      if(el < greatest){
         continue;
      };
      greatest = el;
   };
   return greatest;
};
console.log(findGreatest(arr));

出力結果

コンソールには次のように表示されます。

20

コードのポイント

この実装では、初期値として-Infinity(負の無限大)を設定しておくことで、どのような数値が含まれる配列でも正しく最大値を求められます。また、空の配列やnullが渡された場合にはnullを返すガード節を設けており、安全に処理できる点が特徴です。forループ内で各要素を取り出し、現在の最大値より大きい場合にのみ変数を更新することで、配列全体の走査が完了した時点で最大値が確定します。

別のアプローチ:Math.max()を活用する

より簡潔に記述したい場合は、組み込みのMath.max()メソッドとスプレッド構文を組み合わせる方法もおすすめです。

const findGreatest = (arr = []) => {
   if(!arr?.length){
      return null;
   };
   return Math.max(...arr);
};

この方法なら、ループ処理を自分で書く必要がなく、1行で最大値を取得できます。配列の要素数が極端に多い場合はスプレッド構文での引数展開に注意が必要ですが、通常の用途では十分実用的です。目的やコードの可読性に応じて、使い分けるのがよいでしょう。

  1. JavaScriptのArray.from()メソッドとは?使い方と実例をわかりやすく解説

    Array.from()メソッドは、配列風オブジェクト(array-like)や反復可能オブジェクト(iterable)から、新しい配列オブジェクトを作成するための便利なメソッドです。文字列、Map、Set、NodeListなど、さまざまなデータを手軽に配列へ変換できます。 Array.from()の基本的な動作 例えば、文字列「HelloWorld」に対してArray.from()を使用すると、1文字ずつ分割された新しい配列が生成されます。以下に実際のコード例を示します。 サンプルコード <!DOCTYPE html> <html lang="ja"&g

  2. JavaScriptでURLからGETパラメータの値を取得する方法

    JavaScriptでは、URLオブジェクトとsearchParamsプロパティを組み合わせることで、URLに含まれるGETパラメータ(クエリ文字列)の値を簡単に取得できます。本記事では、実際のコード例とともにその手順をわかりやすく解説します。 実装例 以下は、サンプルURL「https://www.google.com?imageSize=440&color=blue」から、imageSizeとcolorという2つのGETパラメータの値を取り出して画面に表示するコード例です。 <!DOCTYPE html> <html lang=ja> <head>