Flatten JS

Run Settings
LanguageJavaScript
Language Version
Run Command
function flatten(arr) { for(var i = 0; i < arr.length; ++i) { if (Array.isArray(arr[i])) { var args = [i, 1].concat(arr[i]); Array.prototype.splice.apply(arr, args); --i; } } return arr; } function flatten2(arr) { return arr.reduce(function(acc, el) { if (Array.isArray(el)) { return acc.concat(flatten2(el)); } return acc.concat([el]); }, []); } var arr1 = [1, 2, [3, 4, [[5, 6], 7], 8, 9]]; console.log(flatten(arr1)); console.log(flatten2(arr1));
Editor Settings
Theme
Key bindings
Full width
Lines