Skip to content
← Back to rules

unicorn/prefer-array-flat 厳格なルール

⚠️🛠️ A dangerous auto-fix is available for this rule for some violations.

何を実行するか

配列の平坦化に、古くからの手法よりも Array#flat() を推奨します。

なぜこれは問題か

ES2019 では、配列を平坦化する新しいメソッド Array#flat() が導入されました。

このルールは、配列の平坦化に Array#flat() を標準的に使うようにすることを目的としています。

このルールに違反する 誤り の例:

javascript
const foo = array.flatMap((x) => x);
const foo = array.reduce((a, b) => a.concat(b), []);
const foo = array.reduce((a, b) => [...a, ...b], []);
const foo = [].concat(maybeArray);
const foo = [].concat(...array);
const foo = [].concat.apply([], array);
const foo = Array.prototype.concat.apply([], array);
const foo = Array.prototype.concat.call([], maybeArray);
const foo = Array.prototype.concat.call([], ...array);

このルールに準拠する 正しい 例:

javascript
const foo = array.flat();
const foo = [maybeArray].flat();

使い方

設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:

json
{
  "rules": {
    "unicorn/prefer-array-flat": "error"
  }
}
bash
oxlint --deny unicorn/prefer-array-flat

参照