版本

array-bracket-newline

強制在陣列括號開頭之後和結尾之前換行

🔧 可修正

此規則報告的一些問題可以透過 --fix 命令列選項自動修正

此規則在 ESLint v8.53.0 中已棄用。請在 @stylistic/eslint-plugin-js 中使用對應的規則

許多風格指南要求或不允許在陣列括號內換行。

規則詳情

此規則強制在陣列括號開頭之後和結尾之前換行。

選項

此規則有一個字串選項

  • "always" 要求在括號內換行
  • "never" 禁止在括號內換行
  • "consistent" 要求每個括號對的換行使用方式一致。如果一對括號中一個括號內有換行,而另一個括號沒有,則會報告錯誤。

或一個物件選項(如果滿足任何屬性,則要求換行。否則,禁止換行)

  • "multiline": true(預設)如果元素內部或元素之間有換行符,則要求換行符。如果此值為 false,則會停用此條件。
  • "minItems": null(預設)如果元素數量至少為給定的整數,則要求換行符。如果此值為 0,則此條件的行為將與選項 "always" 相同。如果此值為 null(預設值),則會停用此條件。

always

使用 "always" 選項時,此規則的不正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", "always"]*/

var a = [];
var b = [1];
var c = [1, 2];
var d = [1,
    2];
var e = [function foo() {
    dosomething();
}];

使用 "always" 選項時,此規則的正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", "always"]*/

var a = [
];
var b = [
    1
];
var c = [
    1, 2
];
var d = [
    1,
    2
];
var e = [
    function foo() {
        dosomething();
    }
];

never

使用 "never" 選項時,此規則的不正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", "never"]*/

var a = [
];
var b = [
    1
];
var c = [
    1, 2
];
var d = [
    1,
    2
];
var e = [
    function foo() {
        dosomething();
    }
];

使用 "never" 選項時,此規則的正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", "never"]*/

var a = [];
var b = [1];
var c = [1, 2];
var d = [1,
    2];
var e = [function foo() {
    dosomething();
}];

consistent

使用 "consistent" 選項時,此規則的不正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", "consistent"]*/

var a = [1
];
var b = [
    1];
var c = [function foo() {
    dosomething();
}
]
var d = [
    function foo() {
        dosomething();
    }]

使用 "consistent" 選項時,此規則的正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", "consistent"]*/

var a = [];
var b = [
];
var c = [1];
var d = [
    1
];
var e = [function foo() {
    dosomething();
}];
var f = [
    function foo() {
        dosomething();
    }
];

multiline

使用預設 { "multiline": true } 選項時,此規則的不正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", { "multiline": true }]*/

var a = [
];
var b = [
    1
];
var c = [
    1, 2
];
var d = [1,
    2];
var e = [function foo() {
    dosomething();
}];

使用預設 { "multiline": true } 選項時,此規則的正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", { "multiline": true }]*/

var a = [];
var b = [1];
var c = [1, 2];
var d = [
    1,
    2
];
var e = [
    function foo() {
        dosomething();
    }
];

minItems

使用 { "minItems": 2 } 選項時,此規則的不正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", { "minItems": 2 }]*/

var a = [
];
var b = [
    1
];
var c = [1, 2];
var d = [1,
    2];
var e = [
  function foo() {
    dosomething();
  }
];

使用 { "minItems": 2 } 選項時,此規則的正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", { "minItems": 2 }]*/

var a = [];
var b = [1];
var c = [
    1, 2
];
var d = [
    1,
    2
];
var e = [function foo() {
    dosomething();
}];

multiline 和 minItems

使用 { "multiline": true, "minItems": 2 } 選項時,此規則的不正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", { "multiline": true, "minItems": 2 }]*/

var a = [
];
var b = [
    1
];
var c = [1, 2];
var d = [1,
    2];
var e = [function foo() {
    dosomething();
}];

使用 { "multiline": true, "minItems": 2 } 選項時,此規則的正確程式碼範例

在遊樂場開啟
/*eslint array-bracket-newline: ["error", { "multiline": true, "minItems": 2 }]*/

var a = [];
var b = [1];
var c = [
    1, 2
];
var d = [
    1,
    2
];
var e = [
    function foo() {
        dosomething();
    }
];

何時不使用它

如果您不想要強制在陣列括號開頭之後和結尾之前換行,請不要啟用此規則。

相容性

版本

此規則在 ESLint v4.0.0-alpha.1 中引入。

資源

變更語言