版本

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

资源

更改语言