Skip to main content

flatten()

flatten<T>(array): (T | T[])[]

Flattens array a single level deep.

DEPRECATED

Use array.flat() directly instead.

Reason:
Native equivalent method now available


Type Parameters​

T: T​

The type of elements in the array.


Parameters​

array: (T | T[])[]​

The array to flatten.


Returns: (T | T[])[]​

A new flattened array.


See Also​


Since​

2.0.0


Also known as​

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


Example​

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

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

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

How it works?​

Flattens array a single level deep. Deprecated: Use array.flat() directly (ES2019).

Single Level Only​

Native Equivalent​

// ❌ flatten(arr)
// βœ… arr.flat()

Use Cases​

Flatten nested arrays one level πŸ“Œβ€‹

Flatten one level of nesting in arrays.

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

Merge grouped results​

Combine results from grouped operations.

const grouped = [users.slice(0, 10), users.slice(10, 20)];
grouped.flat();
// => all users in single array

Normalize API responses​

Flatten nested response structures.

const responses = [apiPage1.items, apiPage2.items];
responses.flat();