JavaScriptで配列内から特定条件の要素を探す方法

JavaScriptで配列の中から、特定条件の要素があるかどうか調べたり、条件のものだけを取得したりすることがよくあります。
複数方法があるので、今回はそれぞれの方法についてまとめておきます。
存在するかどうか調べたい場合
indexOf
indexOfを使うと、検索した条件に合致する値が存在する場合は、その値の配列番号が返ってきます。
条件に合致しなかった場合は「-1」が返ってきます。
See the Pen JavaScript: array.indexOf by Masakazu Saito (@31mskz10) on CodePen.
複数条件にあてはまる要素があったとしても、最初の1つしか返しません。
includes
includesは検索した条件に合致する値が存在する場合は「true」、見つからなかった場合には「false」が返ってきます。
See the Pen JavaScript: array.includes by Masakazu Saito (@31mskz10) on CodePen.
検索して見つけた値を取得したい場合
find
findを使うと条件に合致する値を取得できます。
ただし、取得できるのは最初の1件のみとなります。
arrayofObjects.find(object =>{
console.log(object.name + " is " + object.profession +" who works at " + object.company);
});See the Pen JavaScript: array.find by Masakazu Saito (@31mskz10) on CodePen.
filter
filterは使い方がfindとほとんど同じですが、返ってくるときは条件に合致した値を配列でまとめて返します。
そのため、最初の1件だけで問題ない場合はfindを使って、全件取得したい場合はfilterを使います。
See the Pen JavaScript: array.filter by Masakazu Saito (@31mskz10) on CodePen.


Nuxt.jsでVuexストア連携を行う方法|Nuxt.jsの基本
コーディングで「スペース」と「タブ」のどちらを使えばいいのか?
Vue Routerでページ遷移後にトーストを表示させる方法
webpackでTop-Level Awaitを使用して、一番上位でもawaitを使えるようにする方法
JavaScriptで特定のOSやブラウザの判定を行う方法
スライドを簡単に実装できるJavaScriptライブラリ「Swiper」
CSSで1行で簡単にスムーススクロールを実装できる「scroll-behavior」プロパティ
ブログに見出しを設置できるjQueryプラグイン「TOC | jQuery Table of Contents」
Vue.jsでtemplateタグ内にscriptやstyleタグを生成する方法|Tags with side effect are ignored
MacVim-Kaoriyaのインストール方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
高機能なスクリーンショットアプリ「CleanShot X」
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」