JSFiddle - React, Tailwind, and code Playground

by aubz88

JavaScript

function flatten(input) {
  var result = [];

  for (var i = 0; i < input.length; i++) {

    if (Object.prototype.toString.call(input[i]) === '[object Array]') {
      result = result.concat(flatten(input[i]));
    } else {
      result.push(input[i]);
    }

  }

  return result;
}

var nestedArray1 = [
  [1, 2, [3]], 4
];
console.log(flatten(nestedArray1));

var nestedArray2 = [
  [1],
  [2],
  [3, [4]]
];
console.log(flatten(nestedArray2));

var nestedArray3 = [
  [null, undefined, [3]], 4
];
console.log(flatten(nestedArray3));

var nestedArray4 = [
  [null, undefined, [null]], null
];
console.log(flatten(nestedArray4));

var nestedArray5 = [
  [1, 2, [null]], 4
];
console.log(flatten(nestedArray5));