跳至內容

unicorn/prefer-array-flat 吹毛求疵

🛠️ 此規則的部分違規情況可使用自動修正。

此規則的作用

偏好使用 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();

參考資料

以 MIT 授權條款發布。