コンテンツへスキップ

@stylistic/

array-element-newline

多くのスタイルガイドでは、配列要素間の改行を必須または禁止しています。

ルール詳細

このルールは、配列要素間の改行を強制します。

オプション

このルールには、文字列オプションがあります。

  • "always" (デフォルト) は、配列要素間に改行を必須とします。
  • "never" は、配列要素間の改行を禁止します。
  • "consistent" は、配列要素間の改行の使用方法の一貫性を求めます。

または、オブジェクトオプションを使用できます(いずれかのプロパティが満たされている場合、改行を必須とします。そうでない場合は、改行を禁止します)

  • "multiline": <boolean> 要素内に改行がある場合、改行を必須とします。false の場合は、この条件は無効になります。
  • "minItems": <number> 要素数が指定された整数以上の場合、改行を必須とします。0 の場合は、"always" オプションと同じ動作になります。null (デフォルト) の場合は、この条件は無効になります。

あるいは、配列式と配列パターンのそれぞれに異なる設定を指定できます。

json
{
    "array-element-newline": ["error", {
        "ArrayExpression": "consistent",
        "ArrayPattern": { "minItems": 3 },
    }]
}
  • "ArrayExpression" 配列式の設定 (指定しない場合、このルールは配列式に適用されません)
  • "ArrayPattern" デストラクチャリング代入の配列パターンの設定 (指定しない場合、このルールは配列パターンに適用されません)

always

デフォルトの "always" オプションを使用したこのルールの **不正な** コードの例

js
/*eslint @stylistic/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" オプションを使用したこのルールの **正しい** コードの例

js
/*eslint @stylistic/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" オプションを使用したこのルールの **不正な** コードの例

js
/*eslint @stylistic/array-element-newline: ["error", "never"]*/

var c = [
    1,
2 ]; var d = [ 1,
2,
3 ]; var e = [ function foo() { dosomething(); },
function bar() { dosomething(); } ];
不正

"never" オプションを使用したこのルールの **正しい** コードの例

js
/*eslint @stylistic/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" オプションを使用したこのルールの **不正な** コードの例

js
/*eslint @stylistic/array-element-newline: ["error", "consistent"]*/

var a = [
    1,
2,
3 ]; var b = [ function foo() { dosomething(); },
function bar() {
dosomething(); }, function baz() { dosomething(); } ];
不正

"consistent" オプションを使用したこのルールの **正しい** コードの例

js
/*eslint @stylistic/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 } オプションを使用したこのルールの **不正な** コードの例

js
/*eslint @stylistic/array-element-newline: ["error", { "multiline": true }]*/

var d = [1,
2, 3]; var e = [ function foo() { dosomething(); },
function bar() {
dosomething(); } ];
不正

{ "multiline": true } オプションを使用したこのルールの **正しい** コードの例

js
/*eslint @stylistic/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 } オプションを使用したこのルールの **不正な** コードの例

js
/*eslint @stylistic/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 } オプションを使用したこのルールの **正しい** コードの例

js
/*eslint @stylistic/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 } オプションを使用したこのルールの **不正な** コードの例

js
/*eslint @stylistic/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 } オプションを使用したこのルールの **正しい** コードの例

js
/*eslint @stylistic/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" } オプションを使用したこのルールの **不正な** コードの例

js
/*eslint @stylistic/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" } オプションを使用したこのルールの **正しい** コードの例

js
/*eslint @stylistic/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
正しい

使用しない場合

配列要素間の改行を強制しない場合は、このルールを有効にしないでください。

互換性

MITライセンスの下でリリースされています。