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();