Skip to content

flatten

将作为参数传递的嵌套数组展开到指定的深度。

它与 JavaScript 默认提供的 Array.prototype.flat 功能相同,并返回相同的类型。不过,其性能更优秀。

签名

typescript
function flatten<T, D extends number = 1>(arr: T[], depth?: D): Array<FlatArray<T[], D>>;

参数

  • arr (T[]): 要展开的数组。
  • depth (D): 展开的深度,默认为 1。

返回值

(Array<FlatArray<T[], D>>) 展开后的新数组。

示例

typescript
const originArr = [1, [2, 3], [4, [5, 6]]];

const array1 = flatten(originArr);
// 返回 [1, 2, 3, 4, [5, 6]]

const array2 = flatten(originArr, 1);
// 返回 [1, 2, 3, 4, [5, 6]]

const array3 = flatten(originArr, 2);
// 返回 [1, 2, 3, 4, 5, 6]