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
type: boolean
default: true
当设置为 true 时,允许在 reduce 和 reduceRight 调用中进行简单操作(如数字相加)。
如何使用
要通过配置文件或 CLI 启用 此规则,可以使用:
json
{
"rules": {
"unicorn/no-array-reduce": "error"
}
}bash
oxlint --deny unicorn/no-array-reduce