広告スペース(バナー)
🟨JavaScript レッスン
基本文法の基礎8
データ構造とオブジェクト指向8
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 23 / 69

配列・コレクションの検索(includes・find)

このレッスンでは、配列の.includes()と.find()を使い分けて、目的に応じたデータの検索ができるようになることを目標にします。「JavaScript includes find 違い」「JavaScript 配列 検索」で調べている方向けの内容です。

.includes(値)は配列にその値が含まれているかをtrue/falseで返します。.find(条件)は条件に合う最初の要素そのものを返します。「リストの中にこの商品はあるか」を調べたいだけならincludes、「その商品の詳しい情報がほしい」ならfind、というように目的に応じて使い分けるのが基本の考え方です。

サンプルコードでは、fruits.includes("みかん")で「みかん」が配列に含まれているかを確認し、fruits.find((f) => f.startsWith("ぶ"))で「ぶ」から始まる最初の要素を探しています。.find()は条件に一致する要素が見つからない場合、undefinedを返す点も覚えておきましょう。

初心者がよくつまずくのが、.find()が「最初に見つかった1件だけ」を返す点です。条件に合う要素が複数あっても、2件目以降は無視されます。複数件をすべて取得したい場合は、これまで学んだ.filter()を使う必要があり、findとfilterの違いを理解しておくことが重要です。

実際の開発現場では、IDを指定して該当するユーザー1件を配列から探し出したり、特定の条件を満たすデータが存在するかどうかをチェックしたりと、includesとfindはデータ検索の基本操作として非常によく使われます。目的に合わせて正しいメソッドを選べるようになりましょう。

.findIndex()という似たメソッドもあり、こちらは要素そのものではなく「何番目にあるか」という位置を返します。要素を書き換えたい場合など、位置情報が必要な場面ではfindIndexを使うことになります。

JavaScript
OUTPUT / 実行結果

💡 console.log() の内容が実行結果に表示されます。

🎯
ここまでできればゴール達成!
在庫リストの中から目的の商品があるか調べる、検索機能が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)