no-sparse-arrays
禁止稀疏数组
✅ 推荐
在配置文件中使用来自@eslint/js
的recommended
配置将启用此规则。
稀疏数组包含空槽,最常见的原因是在数组字面量中使用了多个逗号,例如
var items = [,,];
在此示例中,items
数组的length
为 2,但实际上items[0]
或items[1]
中没有任何值。数组字面量仅在内部使用逗号时仍然有效,再加上length
被设置而实际项值未被设置,这使得稀疏数组对许多开发人员来说令人困惑。考虑以下情况
var colors = [ "red",, "blue" ];
在此示例中,colors
数组的length
为 3。但是开发人员是否打算在数组中间留出一个空位?还是打字错误?
以这种方式定义的稀疏数组周围的混淆足以建议避免使用它们,除非您确定它们在您的代码中很有用。
规则详情
此规则禁止稀疏数组字面量,这些字面量在其逗号前面没有元素的“孔”。它不适用于最后一个元素后面的尾随逗号。
此规则的错误代码示例
在在线运行中打开
/*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", ];
何时不使用它
如果您想使用稀疏数组,则可以安全地禁用此规则。
版本
此规则是在 ESLint v0.4.0 中引入的。