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