Skip to content
← Back to rules

unicorn/no-array-reduce 制限

何を行うか

Array#reduce() および Array#reduceRight() の使用を禁止します。

なぜ問題なのか

Array#reduce() および Array#reduceRight() は、通常、読みにくい かつ パフォーマンスが低い コードを生み出します。ほとんどの場合、.map.filter、または for-of ループに置き換えることができます。

数値の合計など、非常にまれなケースでの利用を除き、このメソッドはほとんど役に立ちません。ただし、デフォルトでは数値の単純な演算(例:合計)は許可されています。

このルールに違反する 誤った コードの例:

javascript
array.reduce(reducer, initialValue);
array.reduceRight(reducer, initialValue);

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け入れます:

allowSimpleOperations

型: boolean

デフォルト: true

true に設定された場合、reduce および reduceRight 呼び出しにおける単純な操作(例:数値の合計)を許可します。

使用方法

このルールを有効にするには、設定ファイルまたは CLI で以下のように使用できます:

json
{
  "rules": {
    "unicorn/no-array-reduce": "error"
  }
}
bash
oxlint --deny unicorn/no-array-reduce

参照