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.

Vue.jsでtemplateタグ内にscriptやstyleタグを生成する方法|Tags with side effect are ignored
Google Chromeでinput要素の補完機能を使うと背景に色がついてしまう問題
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
全角スペースを可視化してくれるVisual Studio Codeの拡張機能「zenkaku」
WordPress5.5のサイトマップ機能を無効にする
Nuxt.jsの基本と最初のセットアップ「プロジェクトの作成と起動をするまでの流れ」
サイトを運営する時必ず登録しておきたいGoogle Search Console(サーチコンソール)の登録方法
resizeイベントを使用する場合は、iOS Safariでの挙動に注意
「epel-release」インストール後にyum installで「Cannot retrieve metalink for repository」と表示される場合の対処法
Nuxt.jsで「Classic mode for store/ is deprecated and will be removed in Nuxt 3.」のエラーメッセージが表示される場合の対処法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法