Array Flattener
Takes a multidimensional array and flattens it into a flat array or string with optional delimiter
by chadarsenault
HTML
<div id="result"></div>
JavaScript
var flattened = [];
var flatten = function (arr,outStr,delimiter){
for(var i=0; i<arr.length; i++) {
if(arr[i] instanceof Array) {
flatten(arr[i],outStr,delimiter);
} else {
if(outStr===true) {
if(flattened.length <= 0) {
flattened += arr[i];
} else {
flattened += delimiter + arr[i];
}
} else {
flattened.push(arr[i]);
}
}
}
return flattened;
}
var input = ['dog','cat','mouse',['banana','orange','apple',[7,4,['hello'],9]]];
document.getElementById('result').innerHTML = flatten(input,true,'|');