I'm trying to write a recursive function that takes an array with nested arrays and puts all the values into a single array. Right now it works sometimes, but sometimes it doesn't.
function steamrollArray(arr) {
var newArr = [];
var func = function(array){
for(i=0; i<array.length; i++){
if(Array.isArray(array[i])){
func(array[i]);
}
else {
newArr.push(array[i]);
}
}
};
func(arr);
return newArr;
}
When I run steamrollArray([1, [2], [3, [[4]]]])
it works, but if I run steamrollArray([[1], [[2]], [3, [[4]]]]);
it doesn't include the 2 for some reason, and if I run steamrollArray([1, [], [3, [[4]]]])
my browser crashes. Thanks for any insight you can give!