Array find() and findIndex()
find() は条件に合う最初の要素を返し、findIndex() はそのインデックスを返します。ES2023 で追加された findLast() / findLastIndex() は末尾から検索します。
概要
find() は条件に合う最初の要素を返し、findIndex() はそのインデックスを返します。ES2023 で追加された findLast() / findLastIndex() は末尾から検索します。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 45 | 12 | 25 | 8 | 45 | 8 | |
| ビルトインオブジェクト | ||||||
| findIndex() は Array インスタンスのメソッドで、配列内の指定されたテスト関数に合格する最初の要素のインデックスを返します。 テスト関数に合格する要素がなかった場合は -1 を返します。 | 45 | 12 | 25 | 8 | 45 | 8 |
| find() は TypedArray インスタンスのメソッドで、型付き配列のある要素の値が与えられたテスト関数を満たした場合、その値を返します。そうでなければ undefined を返します。このメソッドのアルゴリズムは Array.prototype.find() と同じです。 | 45 | 12 | 37 | 10 | 45 | 10 |
| findIndex() は TypedArray インスタンスのメソッドで、指定されたテスト関数を満たす型付き配列の最初の要素のインデックスを返します。テスト関数を満たす要素がない場合、 -1 を返します。このメソッドのアルゴリズムは Array.prototype.findIndex() と同じです。 | 45 | 12 | 37 | 10 | 45 | 10 |
基本構文
JAVASCRIPT
const users = [
{ name: 'Taro', age: 25 },
{ name: 'Hanako', age: 30 },
{ name: 'Jiro', age: 25 },
];
users.find(u => u.age === 25); // { name: 'Taro', age: 25 }
users.findLast(u => u.age === 25); // { name: 'Jiro', age: 25 }
users.findIndex(u => u.age === 30); // 1 ライブデモ
実務での使いどころ
-
Array find() and findIndex() の活用
配列から条件に合う要素やインデックスを検索するメソッド群。find, findIndex, findLast, findLastIndex を提供。
注意点
- 特になし。すべての主要ブラウザで安定して動作する。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。
参考リンク
Powered by web-features