版本

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 中引入的。

延伸閱讀

資源

變更語言