Skip to content
← Back to rules

unicorn/no-array-reduce 限制

它的作用

禁止使用 Array#reduce()Array#reduceRight()

为什么这是个问题?

Array#reduce()Array#reduceRight() 通常会导致代码难以阅读 难以理解 且性能较低 性能不佳。在几乎所有情况下,都可以用 .map.filterfor-of 循环来替代。

仅在极少数情况下(例如对数字求和)会有些许用途,此规则默认允许此类操作。

示例

以下为 错误 用法的示例:

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

配置

该规则接受一个配置对象,包含以下属性:

allowSimpleOperations

type: boolean

default: true

当设置为 true 时,允许在 reducereduceRight 调用中进行简单操作(如数字相加)。

如何使用

要通过配置文件或 CLI 启用 此规则,可以使用:

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

参考资料