首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

no-sparse-arrays

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

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

代码语言:javascript
复制
var items = [,,];

虽然items在这个例子中的数组有length2个,但实际上在items[0]或中没有值items[1]。事实上,数组文字只有逗号才有效,加上length被设置的和实际的项目值没有被设置,这使得稀疏数组对于许多开发者来说变得混乱。考虑以下:

代码语言:javascript
复制
var colors = [ "red",, "blue" ];

在这个例子中,colors数组有length3个。但是开发人员是否打算在数组中间有一个空白点?还是它是一个错字?

以这种方式定义的稀疏数组的混淆是足够的,建议避免使用它们,除非您确定它们对您的代码有用。

规则细节

这条规则不允许稀疏数组文字,它们在逗号前没有元素的地方有“孔”。它不适用于最后一个元素之后的尾随逗号。

此规则的错误代码示例:

代码语言:javascript
复制
/*eslint no-sparse-arrays: "error"*/

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

此规则的正确代码示例:

代码语言:javascript
复制
/*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", ];

何时不使用它

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

Further Reading

扫码关注腾讯云开发者

领取腾讯云代金券