Skip to content
← Back to rules

eslint/no-sparse-arrays Correctness

This rule is turned on by default.

它的作用

禁止稀疏数组。

为什么这不好?

看下面这个例子:

javascript
const items = [, ,];

虽然这个示例中的 items 数组长度为 2,但实际上 items[0] 或 items[1] 中都没有值。数组字面量 只包含逗号就可以是合法的,再加上长度被设置了而 实际的元素值却没有被设置,这会让稀疏数组对许多 开发者来说很难理解。

关于稀疏数组的困惑已经足够多,因此建议 除非你确定它们在你的代码中有用,否则避免使用它们。

示例

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

javascript
var items = [, ,];
javascript
var colors = ["red", , "blue"];

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

javascript
var items = [];

// 末尾逗号(最后一个元素后面的逗号)不是问题

javascript
var colors = ["red", "blue"];

如何使用

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

json
{
  "rules": {
    "no-sparse-arrays": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "no-sparse-arrays": "error",
  },
});
bash
oxlint --deny no-sparse-arrays

版本

此规则是在 v0.0.4 中添加的。

参考资料