按值合并两个数组

Merge two arrays by value

我有一个关于合并数组的具体提示:

我正在使用 google 图表,我需要做这样的事情

Combo Chart

要执行类似的操作,我需要填充此矩阵

我在 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 每个月都有数据,但 雷纳托 没有。

我已经尝试使用 for 或 for each 但行不通,我不是矩阵方面的专家,这是我第一次使用它。

fiddle: http://fiddle.jshell.net/rfcabal/5ftw7c8d/

/// 更新 ///

我添加了这段代码,首先用 0 $scope.data 填充,然后在 relatorios 中搜索值并应该填充 $scope.data,但由于某种原因,只需填充最后找到的值。

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'];                   
                    }
                }
            }

感谢您的帮助

我刚用 2 解决了

首先我用 0

填充每个数据 space
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']);
                        }
                    }
                }                                       
            }