
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 中引入的。
延伸閱讀
