no-sparse-arrays

禁止稀疏数组

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

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

var items = [,,];

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

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

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

vLBgVClsedJ5JduKeLs4DmC+d0zc0LAhezH/r/n2X0r2kIBy94zIKfK6z7MZoN4qp8Md73qxYejtAg2K9RLQO74KfdmDudfbj73xs5cDbEZHoovyQD5gvFq3xWxRtrEh7XSum9dGtNMuj1Oc9vOlTolNyxxmb2bVL9PpXt/wuoxp69sqKkQYArrS8J+46/cQ

规则详情

cvzmH59LrQN5xu2F/513sp7VEZDQJmpStM/nnW5Cen72pRfMLZAKD9zNcdJ1Vzg2MBKoidndmP+GdDpiQhlO8CGUQXR1RFmDJoiCVJvO8J/ezrqdCwvqlNBaHAu+dwbp0IrW6rYU97+xbF6BMsQueugeeq/VLSqKpZB0jnf2ni5iCKzXyfGlHwkFe7EnD/2X

P6820Z8G9wSG50SW7a53cABVQLzOImcIRV+hQUkxjXCO67pG2wyQwHch0OYzHhMo

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

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

L9CfmI+BHDwYx59RS77HEHanEO40ClscOusGIf+RQNhowUc7Zz7f+Hb0VCfK93W9

/*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", ];

何时不使用

9TRcKBNiS0QlLB2hIJKHXoomDzhdTzZaOSpdFzeSllkbO+wwP/qWvIP6BzOKnPNJvRHB+otW9msuHHjT1afXHRcSuy6Mvt8V1WUVccHv+gU=