array-element-newline
强制在每个数组元素之后换行
此规则报告的一些问题可以通过--fix
命令行选项自动修复。
此规则已在 ESLint v8.53.0 中**弃用**。请使用 相应的规则 在 @stylistic/eslint-plugin-js
中。
许多风格指南要求或禁止在数组元素之间换行。
规则详情
此规则强制在数组元素之间换行。
选项
此规则具有字符串选项
"always"
(默认)要求在数组元素之间换行"never"
禁止在数组元素之间换行"consistent"
要求在数组元素之间一致地使用换行符
或对象选项(如果任何属性满足条件,则要求换行。否则,禁止换行)
"multiline": <boolean>
如果元素内部存在换行符,则要求换行。如果为 false,则禁用此条件。"minItems": <number>
如果元素数量至少为给定的整数,则要求换行。如果为 0,则此条件的行为与选项"always"
相同。如果为null
(默认值),则禁用此条件。
或者,可以为数组表达式和数组模式指定不同的配置
{
"array-element-newline": ["error", {
"ArrayExpression": "consistent",
"ArrayPattern": { "minItems": 3 },
}]
}
"ArrayExpression"
用于数组表达式配置(如果未指定,则此规则不适用于数组表达式)"ArrayPattern"
用于解构赋值的数组模式配置(如果未指定,则此规则不适用于数组模式)
always
使用默认"always"
选项时,此规则的错误代码示例
/*eslint array-element-newline: ["error", "always"]*/
var c = [1,2];
var d = [1,2,3];
var e = [1,2,3
];
var f = [
1,2,3
];
var g = [
function foo() {
dosomething();
},function bar() {
dosomething();
}
];
使用默认"always"
选项时,此规则的正确代码示例
/*eslint array-element-newline: ["error", "always"]*/
var a = [];
var b = [1];
var c = [1,
2];
var d = [1,
2,
3];
var d = [
1,
2,
3
];
var e = [
function foo() {
dosomething();
},
function bar() {
dosomething();
}
];
never
使用"never"
选项时,此规则的错误代码示例
/*eslint array-element-newline: ["error", "never"]*/
var c = [
1,2
];
var d = [
1,2,3
];
var e = [
function foo() {
dosomething();
},function bar() {
dosomething();
}
];
使用"never"
选项时,此规则的正确代码示例
/*eslint array-element-newline: ["error", "never"]*/
var a = [];
var b = [1];
var c = [1, 2];
var d = [1, 2, 3];
var e = [
1, 2, 3];
var f = [
1, 2, 3
];
var g = [
function foo() {
dosomething();
}, function bar() {
dosomething();
}
];
consistent
使用"consistent"
选项时,此规则的错误代码示例
/*eslint array-element-newline: ["error", "consistent"]*/
var a = [
1,2,
3
];
var b = [
function foo() {
dosomething();
},function bar() {
dosomething();
},
function baz() {
dosomething();
}
];
使用"consistent"
选项时,此规则的正确代码示例
/*eslint array-element-newline: ["error", "consistent"]*/
var a = [];
var b = [1];
var c = [1, 2];
var d = [1, 2, 3];
var e = [
1,
2
];
var f = [
1,
2,
3
];
var g = [
function foo() {
dosomething();
}, function bar() {
dosomething();
}, function baz() {
dosomething();
}
];
var h = [
function foo() {
dosomething();
},
function bar() {
dosomething();
},
function baz() {
dosomething();
}
];
multiline
使用{ "multiline": true }
选项时,此规则的错误代码示例
/*eslint array-element-newline: ["error", { "multiline": true }]*/
var d = [1,2, 3];
var e = [
function foo() {
dosomething();
},function bar() {
dosomething();
}
];
使用{ "multiline": true }
选项时,此规则的正确代码示例
/*eslint array-element-newline: ["error", { "multiline": true }]*/
var a = [];
var b = [1];
var c = [1, 2];
var d = [1, 2, 3];
var e = [
function foo() {
dosomething();
},
function bar() {
dosomething();
}
];
minItems
使用{ "minItems": 3 }
选项时,此规则的错误代码示例
/*eslint array-element-newline: ["error", { "minItems": 3 }]*/
var c = [1,2];
var d = [1,2,3];
var e = [
function foo() {
dosomething();
},function bar() {
dosomething();
}
];
使用{ "minItems": 3 }
选项时,此规则的正确代码示例
/*eslint array-element-newline: ["error", { "minItems": 3 }]*/
var a = [];
var b = [1];
var c = [1, 2];
var d = [1,
2,
3];
var e = [
function foo() {
dosomething();
}, function bar() {
dosomething();
}
];
multiline 和 minItems
使用{ "multiline": true, "minItems": 3 }
选项时,此规则的错误代码示例
/*eslint array-element-newline: ["error", { "multiline": true, "minItems": 3 }]*/
var c = [1,2];
var d = [1,2,3];
var e = [
function foo() {
dosomething();
},function bar() {
dosomething();
}
];
使用{ "multiline": true, "minItems": 3 }
选项时,此规则的正确代码示例
/*eslint array-element-newline: ["error", { "multiline": true, "minItems": 3 }]*/
var a = [];
var b = [1];
var c = [1, 2];
var d = [1,
2,
3];
var e = [
function foo() {
dosomething();
},
function bar() {
dosomething();
}
];
ArrayExpression 和 ArrayPattern
使用{ "ArrayExpression": "always", "ArrayPattern": "never" }
选项时,此规则的错误代码示例
/*eslint array-element-newline: ["error", { "ArrayExpression": "always", "ArrayPattern": "never" }]*/
var a = [1,2];
var b = [1,2,3];
var c = [
function foo() {
dosomething();
},function bar() {
dosomething();
}
];
var [d, e] = arr;
var [f, g, h] = arr;
var [i = function foo() {
dosomething()
},j = function bar() {
dosomething()
}] = arr
使用{ "ArrayExpression": "always", "ArrayPattern": "never" }
选项时,此规则的正确代码示例
/*eslint array-element-newline: ["error", { "ArrayExpression": "always", "ArrayPattern": "never" }]*/
var a = [1,
2];
var b = [1,
2,
3];
var c = [
function foo() {
dosomething();
},
function bar() {
dosomething();
}
];
var [d, e] = arr
var [f, g, h] = arr
var [i = function foo() {
dosomething()
}, j = function bar() {
dosomething()
}] = arr
何时不使用它
如果您不想强制在数组元素之间换行,请不要启用此规则。
兼容性
相关规则
版本
此规则是在 ESLint v4.0.0-rc.0 中引入的。