2017-07-20 178 views
1

我目前被困在一個問題上。我試圖讓[[1,2,[3]],4] - > [1,2,3,4]但無法使其工作。我不斷收到輸出是:1,2,3,4 1,2,3 3 .......... 3不使用拼合函數拼合嵌套數組

function flattenArray(input) { 
var result = []; 
console.log(input.toString()); 
     for(i = 0; i < input.length; i++) { 
      if(input[i].constructor === Array) { 
      result.push(flattenArray(input[i])); 
     } else { 
      result.push(input[i]); 
    } 
} 
    return result; 
} 

console.log(flattenArray([[1,2,[3]],4])); 

回答

1

我有這我的common.js文件。我用它所有的時間。

這作爲一個函數:

function flattenArray(input) { 
    console.log(input.toString()); 
    var ret = []; 
    for (var i = 0; i < input.length; i++) { 
     if (Array.isArray(input[i])) { 
      ret = ret.concat(flattenArray(input[i])); 
     } else { 
      ret.push(input[i]); 
     } 
    } 
    return ret; 
}