const flattenArrayIterative = (arr) => {
const stack = [arr];
const result = [];
while(stack.length) {
const list = stack.pop();
for (const val of list) {
if (Array.isArray(val)) {
stack.push(val);
} else {
result.push(val);
}
}
}
return result;
};
const flattenArrayRecursive = (arr) => arr.reduce((acc, curr) => acc.concat(Array.isArray(curr) ? flattenArrayRecursive(curr) : curr), []);
const nums2 = [2, 4, [5, [[4, [21, [56, [28]]], 90]]], 9, 2, 4, [5, [[4, [21, [56, [28]]], 90]]], 9];
console.log(flattenArrayIterative(nums2).sort());
console.log(flattenArrayRecursive(nums2).sort());