2015-12-12 107 views
0

是否有可能在JavaScript中創建一個多維數組?JavaScript多陣列推

它應該是這樣的:

$cars = array 
(
array("Volvo",22,18), 
array("BMW",15,13), 
array("Saab",5,2), 
array("Land Rover",17,15) 
); 

但我需要使用$cars.push();首先添加第一行(汽車)的所有數據。然後是數據「22」,「15」,「5」和「17」。然後是「18」,「13」,「2」和「15」。

然後它應該按照與原始數組(表視圖)相同的順序打印。

EDIT 這樣的:

var cars = []; 

cars.push("Volvo", "BMW", "Saab", "Land Rover"); 
cars.push(22, 15, 5, 17); 
cars.push(18, 13, 2, 15); 

和打印這樣的HTML

沃爾沃,22,18

BMW,15 13

薩伯,5, 2

L和Rover,17,15

+1

'變種汽車= [[ 「沃爾沃」,22,18],[ 「BMW」,15,13]];' – Sampson

+0

但是,我如何首先添加沃爾沃。然後添加寶馬?不是一個班輪 – Stefan

+0

我需要首先添加汽車,其他數據。 – Stefan

回答

0

您可以參考documentation

由於@sampson建議在評論上述你的情況是,

var cars = [ 
       [ "Volve", 22, 18 ], 
       [ "BMW", 15, 13 ], 
       [ "Saab", 5, 2], 
       [ "Land Rover", 17, 15] 
      ]; 
0

您可以重建與i位置和j變化的陣列。你可以從一個外觀切換到另一個外觀。

function transpose(source, target) { 
 
    source.forEach(function (a, i) { 
 
     a.forEach(function (b, j) { 
 
      target[j] = target[j] || [] 
 
      target[j][i] = b; 
 
     }); 
 
    }); 
 
} 
 

 
var cars = [["Volvo", 22, 18], ["BMW", 15, 13], ["Saab", 5, 2], ["Land Rover", 17, 15]], 
 
    pCars = []; 
 

 
transpose(cars, pCars); 
 
document.write('<pre>' + JSON.stringify(pCars, 0, 4) + '</pre>'); 
 
cars = []; 
 
transpose(pCars, cars); 
 
document.write('<pre>' + JSON.stringify(cars, 0, 4) + '</pre>');

+0

如果我的數組看起來像這樣,該怎麼辦? VAR汽車= [ [ 「沃爾沃」, 「BMW」, 「薩伯」, 「路虎」], [22,15,5,17], [18,13,如圖2所示,15] ]; – Stefan

+0

我假設你正在尋找「轉置」一詞,而不是「轉換」。 –

+0

@torazaburo,對。 ty –

0

是否有可能使在JavaScript多維數組?

是的。

但這似乎不是你的問題。相反,你的問題似乎是,如果我有一個數組數組,第一個子數組包含字段1的值,第二個子數組包含字段2的值,等等,那麼我該如何重新組織到數組中每個子陣列包含一個對象的所有字段的數組。

另一位響應者提到,這是數組轉置。一個簡單的方法是:

function transpose(a) { 
    return a[0] . map((col, i) => a . map(row => row[i])); 
} 

使用此爲:

var cars = []; 

cars.push(["Volvo", "BMW", "Saab", "Land Rover"]); 
cars.push([22, 15, 5, 17]); 
cars.push([18, 13, 2, 15]); 

console.log(transpose(cars)); 
+0

然後是否可以像變量一樣遍歷數組:汽車[0](沃爾沃)汽車[1](22)汽車[2](18) – Stefan

+0

建議閱讀關於JS數組和循環的基礎知識。同時運行上面的代碼並檢查'轉置(汽車)'的內部結構。 –