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.

EmmetのWrap with Abbreviationで複数行のマークアップを効率的に行う
JavaScriptのtest関数と正規表現でバリデーションチェックを行う
CSS疑似要素(::beforeや::after)のcontent内で改行したり半角スペースを複数入力する方法
思考したり情報整理したい時はMarkdown記法で文章を書き出そう!!Webデザイナーの情報整理術
HTMLが書ければすぐ習得できるテンプレートエンジン「EJS」の基本的な書き方
Visual Studio Codeでファイル差分の比較を行う方法
Visual Studio CodeでSVGをプレビューする拡張機能「SVG Preview」
Vue.jsのv-forで生成した要素をクリックするたびに、classをトグルで付け外しする方法
gzip圧縮をしてウェブサイトの表示スピードを上げる方法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Keyboard Maestroの変数基礎
Neovimを使い始める最初の一歩として便利な「LazyVim」
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」
Keyboard Maestroの「Macro Debugger」で複雑なマクロのデバッグを行う方法
無料版でも高機能なランチャーアプリ「Raycast」の基本機能と環境設定
OnyXでターミナルを使わずにmacOSの詳細設定を行う
軽量で高速なターミナルエミュレーター「Ghostty」の設定方法
Eagleで実現するクリエイティブ素材の簡単管理
かゆいところに手が届く「Supercharge」でMac環境を便利にカスタマイズする
超軽量なコードエディタ 「Zed」をサブエディタとして活用する