2016-08-16 62 views
-2

我想做到以下幾點:如何在JavaScript中將2個一維數組連接成1個二維數組?

var arrayA = new Array; 
var arrayB = new Array; 
var arrayC = new Array; 

arrayA = [["one", "two", "three"]]; 
arrayB = [["four", "five", "six"]]; 

,這樣我能得到

arrayC = [["one", "two", "three"], ["four", "five", "six"]]; 

我將如何做到的呢?

+2

你的標題說,你將1維數組。但'arrayA'和'arrayB'是二維的。你真的打算在他們周圍放兩套'[]'嗎? – Barmar

回答

4

你可以創建一個新的數組,其他數組作爲元素。

var arrayC = [arrayA[0], arrayB[0]]; 

BTW,有一個在初始化的變量new Array,如果你只是去一個不同的陣列分配給他們沒有任何意義。

+0

@Pang我沒有注意到他原來的'arrayA'和'arrayB'是二維的。 – Barmar

2

你能做到這一點

arrayC = arrayA.concat(arrayB) 
+0

不會,這將使一個一維數組。我想要一個二維數組。 – xxAkuma

+1

@xxAkuma你嘗試過嗎? – Barmar

+0

@xxAkuma這個答案會工作,只是嘗試。 –

0

你可能只需要推動他們。

arrayC.push(arrayA) 
arrayC.push(arrayB) 
-2
var arrayC = arrayA.concat() 
arrayB.forEach(function(ele,index){ 
    arrayC.push(ele) 
}) 

這是你想要的嗎?

+0

是什麼問題? – darr

1

有很多方法可以做到這一點,包括已經涵蓋的一些方法。

例如,另一種方法是使用Array.of從參數列表中簡單地創建一個新數組;

var arrayA = [["one", "two", "three"]]; 
 
var arrayB = [["four", "five", "six"]]; 
 
var arrayC = Array.of(arrayA[0], arrayB[0]); 
 

 
// for display only 
 
document.write('<pre>' + JSON.stringify(arrayC) + '</pre>');

+0

瀏覽器兼容性表可能需要在這一個,因爲它還沒有得到廣泛的支持,但尚未 – axelduch

+0

@ axelch同意,但如前所述,它只是進一步顯示有很多方法來解決這個問題。 :) –

+0

不要誤會我的意思,我很高興你添加了這個,我從中學到了一些東西,因爲我不知道這個方法。我只是看着mdn,並認爲它可能會有所幫助,如果人們想複製/粘貼並期望它在所有情況下都能正常工作 – axelduch

相關問題