-1
我想將此數組轉換爲如下所示的一個數組。我怎樣才能用一種可以工作的方法來實現這一點,而不管數組中的嵌套層次如何。將多嵌套數組轉換爲一個數組
var array = [1, [2], [3, [[4]]]]
//Output = [1,2,3,4]
我想將此數組轉換爲如下所示的一個數組。我怎樣才能用一種可以工作的方法來實現這一點,而不管數組中的嵌套層次如何。將多嵌套數組轉換爲一個數組
var array = [1, [2], [3, [[4]]]]
//Output = [1,2,3,4]
您可以對此使用遞歸函數。
var array = [1, [2], [3, [[4]]]];
function flatten(ar) {
var result = [];
ar.forEach(function(e) {
if (Array.isArray(e)) {
result = result.concat(flatten(e));
} else {
result.push(e);
}
})
return result;
}
console.log(flatten(array));
讓它遞歸!
result = [];
function covert(array) {
for (var b in array) {
if (typeof b === number) {
result.push(b)
} else {
convert(b)
}
}
}
這不是問題的副本。這個問題沒有解決不同程度的嵌套問題。 – mattHunting10
雖然原來的問題沒有問。所以在技術上這不是重複的。 – mattHunting10
請參閱http://stackoverflow.com/a/15030117/1447675 –