unicorn/prefer-array-find パフォーマンス
何を行うか
最初に一致する要素だけが必要な場合に、filter(...)[0] や類似のパターンの代わりに Array.prototype.find を使用することを推奨します。
なぜ悪いのか
最初の一致要素を得るために filter(...)[0] を使うのは、find(...) より非効率的であり、より冗長です。find は一致した時点で短絡評価されるのに対し、filter は配列全体を評価します。
例
このルールに対する誤ったコードの例:
js
const match = users.filter((u) => u.id === id)[0];
const match = users.filter(fn).shift();このルールに対する正しいコードの例:
js
const match = users.find((u) => u.id === id);
const match = users.find(fn);使用方法
設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:
json
{
"rules": {
"unicorn/prefer-array-find": "error"
}
}bash
oxlint --deny unicorn/prefer-array-find