我对合并数组有一个特定的猜测:
我正在使用谷歌图表,我需要做这样的事情
我对轴x和轴y做得很好:
$scope.data= [];
$scope.data[0]= ['Months'];
angular.forEach($scope.consultors, function(consultor) {
$scope.data[0].push(consultor.no_user);
})
angular.forEach(months, function(month) {
$scope.data.push([month])
})
但是,我的问题是当我尝试将$scope.relatorias
放在$ scope.data中时。
这是$scope.relatorias
,此变量按月包含每个顾问组的数据,如下所示:
如果你打开每个数组看起来像这样
我只需要推送ganancias_netas,但我的问题是当有一个空月,例如 anapaula 每个月都有数据,但 renato 没有。
我已尝试使用或为每个用户使用但是不起作用,我不是矩阵专家,这是我第一次使用它。
小提琴:http://fiddle.jshell.net/rfcabal/5ftw7c8d/
///更新///
我添加了第一个用0 $ scope.data填充的代码,然后在relatorios中搜索值并shoudl填充$ scope.data,但由于某种原因,jus填充了最后找到的值。
for (var i = 1; i < $scope.data.length; i++) {
for (var a = 1; a < $scope.data[0].length; a++) {
$scope.data[i][a] = 0;
for (var b = 0; b < $scope.relatorios[a-1].length; b++) {
console.log(a-1+' '+b+' '+3);
console.log($scope.relatorios[a-1][b]['ganancias_netas'])
$scope.data[i][a] = $scope.relatorios[a-1][b]['ganancias_netas'];
}
}
}
感谢您的帮助
答案 0 :(得分:0)
我刚用2解决了
首先,我用0
填充每个数据空间for (var i = 1; i < $scope.data.length; i++) {
for (var a = 1; a < $scope.data[0].length; a++) {
$scope.data[i][a] = 0;
}
}
i jus remplace其中fecha_emision等于每个数组的位置1。
for (var a = 0; a < $scope.relatorios.length; a++) {
for (var b = 0; b < $scope.relatorios[a].length; b++) {
for (var i = 1; i < $scope.data.length; i++) {
var index = $scope.data[i].indexOf($scope.relatorios[a][b]['fecha_emision']);
if(index >= 0) {
$scope.data[i][a+1] = parseFloat($scope.relatorios[a][b]['ganancias_netas']);
}
}
}
}