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