```javascript let arr0 = [1, 3, 4, 5, [1]]; let arr1 = [1, 2, 3, [1, [2, { a: 3 }], 4, [2, 3, 4]]]; function flatten(input) { const stack = [...input]; const res = []; let i = 0; while (stack.length) { const next = stack.pop(); if (Array.isArray(next)) { stack.push(...next); } else if (typeof next === 'object') { res.push(...Object.values(next)); } else { res.push(next); } } return res.reverse(); } flatten(arr0); flatten(arr1); ```