Skip to content
← Back to rules

unicorn/prefer-array-find パフォーマンス

An auto-fix is available for this rule.

何を行うか

最初に一致する要素だけが必要な場合に、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

参照