Flattening processing multidimensional array

How to put a multidimensional array into a one-dimensional array, such as the

[1, [2, [3, 4]], [5, 6], 7]
becomes

[1, 2, 3, 4, 5, 6,7]

 Method is as follows:

function flattenArr(arr){
    var newarr=[];
    for(var i in arr){
        if(typeof arr[i]==='object'){
            //console.log(arr[i]);
            newarr=newarr.concat(arguments.callee(arr[i]));
        }else{
            //console.log(arr[i]);
            newarr=newarr.concat(arr[i]);
        }
    }
    return newarr;
}

var arr = [1, [2, [3, 4]], [5, 6], 7];
var newArr = flattenArr(arr);
console.log(newArr);  // [1, 2, 3, 4, 5, 6,7]

 

Guess you like

Origin www.cnblogs.com/wxcbg/p/11595014.html