# no-sparse-arrays

禁止稀疏数组

配置文件中的 "extends": "eslint:recommended" 属性启用了该规则

稀疏数组包含空槽,最常见的原因是数组字面中使用了多个逗号,例如:

var items = [,,];

虽然此示例中的 items 数组的 length 为 2,但实际上 items[0]items[1] 中没有值。数组字面量仅在内部使用逗号是有效的,再加上设置了 length 而未设置实际项目值,这使得稀疏数组对许多开发人员感到困惑。考虑以下:

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

在此示例中,colors 数组的 length 为 3。但是开发人员是否打算在阵列中间有一个空白点?或者它是一个错字?

以这种方式定义的稀疏数组引起的混乱足以建议避免使用它们,除非您确定它们在您的代码中有用。

# 规则详情

此规则不允许具有 "holes" 的稀疏数组字面,其中逗号前面没有元素。它不适用于最后一个元素后面的逗号。

此规则的错误代码示例:

/*eslint no-sparse-arrays: "error"*/

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

此规则的正确代码示例:

/*eslint no-sparse-arrays: "error"*/

var items = [];
var items = new Array(23);

// trailing comma (after the last element) is not a problem
var colors = [ "red", "blue", ];

# 何时不使用

如果你想使用稀疏数组,那么禁用这个规则是安全的。

Last Updated: 5/13/2023, 8:55:38 PM