2015-11-25 89 views
0

這裏是JS的新手。我怎樣才能使用math.js或香草js返回一個數組,其中2d數組乘以每列。 2個數組的大小將始終相同。乘以2d陣列的每列並返回數組

[[2,2], 
[2,4]] 

結果是

[4,8] 

我曾嘗試:

adjustedrating = [[2,2],[2,4]] 
var w = adjustedrating.length; 

for (var i = 0, len = adjustedrating[0].length; i < len; i++) { 
    var multiple = adjustedrating[0][i]; 
    for (var j = 0; j < w; j++) { 
     multiple *= adjustedrating[j][i]; 

    } 
    both.push(multiple); 
}; 
+0

你能告訴我們你嘗試過什麼? – Rajesh

回答

0

你可以做的是循環通過外部陣列,和你去存儲相乘的結果。例如:

// The two dimensional array 
 
var twoDimArray = [[2,2], 
 
        [2,4]]; 
 

 
// We'll say this is where your results will go. It will be the same length 
 
//  as one of your inner arrays, and all values will start at 1 
 
var results = [1,1]; 
 

 
// Loop through the 2D Array 
 
for(var outerIndex = 0; outerIndex < twoDimArray.length; outerIndex++){ 
 
    // Loop through the currently selected inner array 
 
    for(var innerIndex = 0; innerIndex < twoDimArray[outerIndex].length; innerIndex++){ 
 
     // Multiply appropriate result by the appropriate value 
 
     results[innerIndex] *= twoDimArray[outerIndex][innerIndex]; 
 
    } 
 
} 
 

 
// Simply displays the results somewhere 
 
document.getElementById('results').innerHTML = results;
<div id="results"></div>

+0

我不明白你的評論。請澄清。 – ConnorCMcKee

+0

我的歉意。代碼最初並未包含在內,並且用戶並沒有做出任何努力。我會刪除我的評論。另外我建議使用forEach。 – Rajesh