Lorem ipsum dolor sit amet consectetur adipisicing elit. Aliquam obcaecati, omnis rerum earum ducimus suscipit dolore quas officiis mollitia deserunt necessitatibus. Nam illum error, doloremque eveniet voluptates quibusdam corrupti inventore

Flatten Array

Flatten Array in JS, using various methods

Using the flat() method (ES2019)

const arr = [1, 2, [3, 4, [5, 6]]];
const flattened = arr.flat(Infinity); // Flatten to any depth

console.log(flattened); // Output: [1, 2, 3, 4, 5, 6]

Using reduce() and concat()

function flatten(arr) {
    let result = [];
    for (let i = 0; i < arr.length; i++) {
      if (Array.isArray(arr[i])) {
        result = result.concat(flatten(arr[i]));
      } else {
        result.push(arr[i]);
      }
    }
    return result;
}

const arr = [1, 2, [3, 4, [5, 6]]];
const flattened = flatten(arr);

console.log(flattened); // Output: [1, 2, 3, 4, 5, 6]

Using a recursive function:

function flatten(arr) {
    let result = [];
    for (let i = 0; i < arr.length; i++) {
      if (Array.isArray(arr[i])) {
        result = result.concat(flatten(arr[i]));
      } else {
        result.push(arr[i]);
      }
    }
    return result;
}

const arr = [1, 2, [3, 4, [5, 6]]];
const flattened = flatten(arr);

console.log(flattened); // Output: [1, 2, 3, 4, 5, 6]