JSFiddle - React, Tailwind, and code Playground

by ti2005

JavaScript

/* const arr = [1, 2, [2, 4, 1, { a: 2, b: 3 }], {e:  5 }]; */
/* const arr = [1, 2, [2, 4, 1], [5]]; */
const arr = [1, 2, [2, 4, 1, [10], { a: 2, b: 3 }], {e:  5 }];

/* all = [1,2, 2, 4, 1, 2, 3, 5]; */

function flatArray (arr, output) {
 for(let i=0, len = arr.length; i< len ; i++) {
    const val = arr[i];
    if(Array.isArray(val)){
      flatArray(val, output);
    } else if(typeof val === "object") {
    	// Handle Object
     output = output.concat(Object.values(val));
    } else {
    	output.push(val);
    }
 }
 
 return output;
}

let flattenArray = flatArray(arr, []);
flattenArray = flattenArray.sort((a, b) => a -b);
console.log(flattenArray);