2016-08-18 96 views
0

我有一個二維數組一樣充滿這樣的第二位置從$範圍:Angularjs:如何填寫一個二維陣列上的數據

biDimArr = new Array(6); 
for(var i=0; i<6; i++){ 
    biDimArr[i] = new Array(3); 
    biDimArr[i] = [i,0,0]; 
}; 

輸出:biDimArr = [[0, 0, 0], [1, 0, 0], [2, 0, 0], [3, 0, 0],[4, 0, 0],[5, 0, 0]]

如果我通過一個範圍迭代對象是這樣的:

var quantityArr=[]; 
angular.forEach($scope.sales, function (item){ 
    quantityArr.push(item.quantity); 
}); 

我得到這個數組:quantityArr = [1, 2, 5, 5, 5, 3]

如何將quantityArr中的值插入到內部數組的第二個位置上的biDimArr?第一個數組的值爲「1」,第二個數組的值爲「2」,第三個數組的值爲「5」,依此類推。

我需要這個數組來填充谷歌折線圖。

我知道它一定是一個簡單的答案,但我沒有得到正確的結果。

謝謝。你的幫助將非常感激。

+2

你可以試試:'quantityArr.forEach(功能(數量指數){biDimArr [指數] [1] =數量})'假設biDimArr的數量與quantityArr – zfor

+0

完全相同。非常感謝你。 –

+0

@zfor發表這個作爲答案,因爲它的工作。 – Alisson

回答

1

您可以使用下面的代碼:

quantityArr.forEach(function(quantity, index) { 
    biDimArr[index][1] = quantity; 
}) 

請注意,它沒有任何錯誤處理,所以quantityArr和biDimArr必須有相同數量的元素。

編輯: 爲了更有效地做到這一點,你也可以這樣做:

$scope.sales.forEach(function(item, index) { 
    // If you need the quantityArr populated: 
    quantityArr.push(item.quantity); 
    // Add the quantity to biDimArr: 
    diDimArr[index][1] = item.quantity; 
}) 
+0

是的我知道我只是在測試以找出填充圖表的最佳方式。再次感謝! –

+1

然後你可以加快一點。看看我編輯的答案;) – zfor

+0

謝謝!這更好。 :) –