Skip to content
← Back to rules

eslint/sort-keys 风格

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

它做了什么

在声明多个属性时,按字母顺序对属性名进行排序,可以使后续更轻松地查找和/或对比所需属性。

为什么这是不好的?

未排序的属性键会使代码更难阅读和维护。

示例

此规则的错误代码示例:

js
let myObj = {
  c: 1,
  a: 2,
};

此规则的正确代码示例:

js
let myObj = {
  a: 2,
  c: 1,
};

配置

第一个选项

type: "desc" | "asc"

键的排序顺序。支持 "asc"(升序)或 "desc"(降序)。

第二个选项

此选项是一个包含以下属性的对象:

allowLineSeparatedGroups

type: boolean

default: false

当为 true 时,由空行分隔的属性组将独立排序。

caseSensitive

type: boolean

default: true

排序比较是否区分大小写(为 true 时,A < a)。

minKeys

type: integer

default: 2

在强制执行排序之前,对象中所需的最少属性数量。

natural

type: boolean

default: false

使用自然排序顺序,例如,“a2”会在“a10”之前。

如何使用

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

json
{
  "rules": {
    "sort-keys": "error"
  }
}
bash
oxlint --deny sort-keys

参考资料