1. 程式人生 > >多維數組轉一維數組

多維數組轉一維數組

col -s font 方法 使用數組 style split body IT

方法一:使用數組concat方法,這個方法是屬於取巧的一種

var arr= [[0,0,1],[2,3,3],[4,4,5]];
var newArr = [];
for(var i=0;i<arr.length;i++){
     newArr=newArr.concat(arr[i])            
}
console.log(arr) //
[[0,0,1],[2,3,3],[4,4,5]];
console.log(newArr) // [0, 0, 1, 2, 3, 3, 4, 4, 5]

方法二:也是數組 join 方法,但是有一個缺點就是使數組每一項都變成了字符串

var arr
=[1,[2,[[3,4],5],6]];
function getArr(arr){ 
return arr.join().split(",");
}
console.log(
getArr(arr));

方法三:遞歸

var arr = [1,[2,[[3,4],5],6]];
var newArr = [];
    
function fun(arr){
        for(var i=0;i<arr.length;i++){
            if(Array.isArray(arr[i])){
                fun(arr[i]);
            }
else{ newArr.push(arr[i]); } } } fun(arr); console.log(newArr);//[1, 2, 3, 4, 5, 6]

方法四:for in循環 遞歸

其實第四種跟第三種差不多,換用寫法而已

var arr =[1,[2,[[3,4],5],6]];
var newArr=[];
function getArr(arr) {
for(var k in arr) {
if( arr[k] instanceof Array) {
getArr(arr[k]);
}
else { newArr.push(arr[k]);
}
}
return newArr;
}
console.log(getArr(arr));

多維數組轉一維數組