SOLUTION - 解決策
findよりforループ+breakの方が約1.2倍高速
findメソッドのコールバックオーバーヘッドを避けることで高速化できます。
前提
- 単純な条件での検索の場合
- 最初にマッチした要素のみが必要な場合
- パフォーマンスが重要な場合
実際のコード
// 遅い
const item = arr.find(x => x.id === targetId);
// 速い(約1.2倍)
let item;
for (let i = 0; i < arr.length; i++) {
if (arr[i].id === targetId) {
item = arr[i];
break;
}
}