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]