Skip to content
← Back to rules

unicorn/no-array-reverse Suspicious

🛠️ An auto-fix is available for this rule.

作用

优先使用 Array#toReversed() 而不是 Array#reverse()

为什么这不好?

Array#reverse() 会原地修改原始数组,这可能会导致意外的副作用——尤其是当原始数组在代码的其他地方被使用时。

示例

以下是此规则的错误代码示例:

js
const reversed = [...array].reverse();

以下是此规则的正确代码示例:

js
const reversed = [...array].toReversed();

配置

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

allowExpressionStatement

类型:boolean

默认值:true

默认情况下,此规则允许将 array.reverse() 作为表达式语句。 将其设置为 false 可禁止 Array#reverse(),即使它是一个表达式语句。

以下是将此选项设为 false 时,此规则的错误代码示例:

js
array.reverse();

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "rules": {
    "unicorn/no-array-reverse": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "unicorn/no-array-reverse": "error",
  },
});
bash
oxlint --deny unicorn/no-array-reverse

版本

此规则在 v1.15.0 中添加。

参考资料