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);