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

JavaScriptのArray.prototype.find()メソッドとは?使い方をサンプルコードで解説

Array.prototype.find() メソッドは、配列の中から指定した条件(テスト関数)を満たす最初の要素の値を返します。

条件に一致する要素が見つかった時点で検索を終了するため、大きな配列でも効率的に動作します。また、どの要素も条件を満たさなかった場合は undefined を返すという点も重要な特徴です。

find()メソッドの基本構文

arr.find(callback(element[, index[, array]])[, thisArg])
  • callback:各要素に対して実行されるテスト関数。true を返した要素が結果となります。
  • thisArg(省略可):callback 内で this として使われるオブジェクト。

サンプルコード

以下は、動物の配列から「lion」を見つけ出して表示する Array.prototype.find() メソッドの実装例です。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .find {
        font-size: 20px;
        font-weight: 500;
    }
</style>
</head>
<body>
<h1>JavaScript Array find() の使用例</h1>
<div class="find"></div>
<button class="fillArr">ここをクリック</button>
<h3>上のボタンをクリックすると、動物の中からライオン(lion)を探します</h3>
<script>
    function findLion(animal) {
        return animal === "lion";
    }
    let fillEle = document.querySelector(".find");
    let arr = ["cow", "lion", "bull", "tiger"];
    fillEle.innerHTML = arr;
    document.querySelector(".fillArr").addEventListener("click", () => {
        fillEle.innerHTML = arr.find(findLion);
    });
</script>
</body>
</html>

コードの解説

  • findLion() 関数は、引数として受け取った要素が「lion」と一致するかどうかを判定するコールバック関数です。
  • 配列 arr には「cow」「lion」「bull」「tiger」の4つの要素が格納されています。
  • ボタンをクリックすると、arr.find(findLion) が実行され、条件に一致した最初の要素「lion」だけが画面に表示されます。

実行結果

上記のコードを実行すると、次のような出力が得られます。

JavaScriptのArray.prototype.find()メソッドとは?使い方をサンプルコードで解説

「CLICK HERE」ボタンをクリックすると −

JavaScriptのArray.prototype.find()メソッドとは?使い方をサンプルコードで解説

このように、配列内で条件を満たす最初の要素である「lion」のみが出力されます。「bull」や「tiger」のように後ろに同じような要素があっても、find() は最初に一致した1つだけを返して処理を終了します。

まとめ

Array.prototype.find() メソッドを使うことで、配列から特定の条件に合う要素を簡潔に取得できます。filter() メソッドが条件に合うすべての要素を配列で返すのに対し、find() は最初の1つの要素の値を返すという違いがあるため、用途に応じて使い分けるとよいでしょう。

  1. JavaScriptのArray.prototype.sort()メソッドの使い方をサンプルコードで解説

    Array.prototype.sort()は、JavaScriptで配列の要素を並べ替えるための組み込みメソッドです。アルファベット順・数値順といった並び方に加えて、昇順・降順も自由に指定でき、配列操作の中でも特に使用頻度の高いメソッドの一つです。 ただし重要なポイントとして、sort()メソッドはデフォルトではすべての要素を文字列に変換してから比較します。そのため、数値の配列を意図したとおりに並べ替えたい場合は、比較関数を引数として渡す必要があります。 以下は、Array.prototype.sort()メソッドの基本的な使い方を示すサンプルコードです。 サンプルコード <!DOC

  2. JavaScriptのArray.prototype.flat()メソッドとは?配列を指定した深さで平坦化する方法

    Array.prototype.flat()メソッドとはJavaScriptのArray.prototype.flat()メソッドは、ネストされた配列を指定した深さまで再帰的に平坦化(フラット化)するためのメソッドです。元の配列を変更することはなく、平坦化された新しい配列を作成して返します。引数には平坦化の深さ(depth)を数値で指定します。省略した場合はデフォルトで「1」が適用され、「Infinity」を指定すればすべての階層のネストを完全に展開することも可能です。コード例以下は、Array.prototype.flat()メソッドを使用したサンプルコードです。<!DOCTYPE h