Angularjs:如何使用$ scope中的数据填充第二个位置的二维数组

时间:2016-08-18 13:11:56

标签: javascript angularjs arrays

我有一个像这样填充的二维数组:

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”,依此类推。

我需要这个数组来填充谷歌折线图。

我知道这一定是一个简单的答案,但我得不到正确的结果。

谢谢。非常感谢您的帮助。

1 个答案:

答案 0 :(得分: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;
})