Skip to content
← Back to rules

unicorn/no-array-sort 可疑

An auto-fix is available for this rule.

它的作用

优先使用 Array#toSorted() 而非 Array#sort()

为什么这是个问题?

Array#sort() 会就地修改原始数组,可能导致意外的副作用——尤其是在代码中其他位置仍使用该原始数组时。

示例

此规则的 错误 用法示例:

js
const sorted = [...array].sort();

此规则的 正确 用法示例:

js
const sorted = [...array].toSorted();

配置

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

allowExpressionStatement

type: boolean

默认值: true

当设置为 true(默认值)时,允许将 array.sort() 作为表达式语句使用。设为 false 可禁止即使作为表达式语句使用的 Array#sort()

allowExpressionStatement 设置为 false 时,此规则的 错误 用法示例:

js
array.sort();

如何使用

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

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

参考资料