Skip to content
JavaScript

Array Flattening

Flatten a multi-dimensional array into one dimension.

By EZ4Code Team
arrayflatten

Code

function flatten(arr, depth = Infinity) {
  return arr.reduce((acc, val) =>
    Array.isArray(val) && depth > 0
      ? acc.concat(flatten(val, depth - 1))
      : acc.concat(val),
    []
  );
}

// Using native flat
const flat = arr => arr.flat(Infinity);

Explanation

Recursively flattens or uses the native flat method for arbitrary depth.

More JavaScript Snippets