Skip to main content

flattenDepth()

flattenDepth<T>(array, depth?): T[]

Recursively flattens array up to depth times.

DEPRECATED

Use array.flat(depth) directly instead.

Reason:
Native equivalent method now available


Type Parameters​

T: T​

The type of the leaf elements in the array.


Parameters​

array: unknown[]​

The array to flatten.

depth?: number = 1​

The maximum recursion depth.


Returns: T[]​

A new flattened array.


See Also​


Since​

2.0.0


Also known as​

flattenDepth (Lodash, es-toolkit) · ❌ (Remeda, Radashi, Ramda, Effect, Modern Dash, Antfu)


Example​

const nested = [1, [2, [3, [4]]]];

// ❌ Deprecated approach
const flattened = flattenDepth(nested, 2);
console.log(flattened); // [1, 2, 3, [4]]

// βœ… Recommended approach
const flattenedNative = nested.flat(2);
console.log(flattenedNative); // [1, 2, 3, [4]]

How it works?​

Recursively flattens array up to specified depth. Deprecated: Use array.flat(depth) directly (ES2019).

Native Equivalent​

// ❌ flattenDepth(arr, 2)
// βœ… arr.flat(2)

Use Cases​

Flatten to specific depth πŸ“Œβ€‹

Flatten arrays to a controlled depth.

const nested = [1, [2, [3, [4]]]];
nested.flat(2);
// => [1, 2, 3, [4]]

Normalize structured data​

Control how many levels of nesting to remove.

const data = [[a], [[b], [[c]]]];
data.flat(2);
// => [a, [b], [c]]

Process multi-level groups​

Partially flatten grouped data.

const groups = [[[item1, item2]], [[item3]]];
groups.flat(1);
// => [[item1, item2], [item3]]