# array-bracket-newline

在打开数组括号之后和关闭数组括号之前强制换行

一些该规则报告的问题可以通过 --fix 命令行选项 自动修复

许多样式指南要求或不允许在数组括号内换行。

# 规则详情

此规则在打开数组括号之后和关闭数组括号之前强制换行。

# 选项

此规则有一个字符串选项:

  • "always" 需要括号内的换行符
  • "never" 不允许在括号内换行
  • "consistent" 要求每对括号一致地使用换行符。如果一对中的一个括号内有换行符,而另一个括号内没有,它会报告错误。

或对象选项(如果满足任何属性,则需要换行符。否则,不允许换行):

  • 如果元素内部或元素之间有换行符,"multiline": true(默认)需要换行符。如果为假,则禁用此条件。
  • 如果元素的数量至少是给定的整数,"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();
    }
];

# 何时不使用

如果您不想在打开和关闭数组括号之前强制换行,请不要启用此规则。

# 兼容性

  • JSCS:``validateNewlineAfterArrayElements
Last Updated: 5/13/2023, 8:55:38 PM