javascript - 如何使用 javascript 或 Angular 将一个数组的每个元素添加到其他数组中的相应元素

标签 javascript arrays json angularjs angularjs-scope

我需要按顺序将数组的元素添加在一起,与[ How can I add each element of one array to another one's corresponding element using a ParallelStream? 中的问题非常相似。 ,但我使用的是 javascript 和 Angular。我的数组可以包含最多 31(天)的任意数量的元素,但每个数据对象中的元素数量始终相同。

$scope.test31days = {
  "change_series": [
    { "data": [0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,0],
      "name": "EMERGENCY",
      "color": "#904040"},
    { "data": [0,1,3,0,0,0,0,1,2,3,3,0,0,0,2,1,1,1,0,0,1,1,3,3,1,0,0,1,2,2,0],
      "name": "MINOR",
      "color": "#333"},
    { "data": [0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0],
      "name": "MAJOR",
      "color": "#666"}
  ],
  "change_title": "CHANGES"
}

我的控制台输出告诉我,我正确地分隔了元素(在某种程度上),但是当我使用 if/else if 语句运行它时,我使浏览器崩溃,所以我知道我搞砸了。

$scope.getTotalChanges = function(){
  var series = $scope.test31days.change_series;
  var arry = [];

  for(var i = 0; i < series.length; i++){
    // console.log('change_series loop #', i);
    // console.log('change_series.data length', series[i].data.length);

    var seriesData = series[i].data;
    // console.log('series[i].name', series[i].name)        
    // console.log('seriesData', seriesData)

    for(var j = 0; j < seriesData.length; j++){
      console.log('For inner #', j);
      console.log('seriesData #', seriesData[j]);

      if (j = 0) {
        arry = seriesData;
      } else if (j > 0) {
        arry[j] += seriesData[j]
      };
    }
  }

  // return series;
  console.log('arry ', arry);
  return arry;
};

我的最终目标是获得 31(天)的单个数据数组

最佳答案

var series = $scope.test31days.change_series;
var dataLength = series[0].data.length;
var result = Array.apply(null, new Array(dataLength)).map(Number.prototype.valueOf,0); //initialize result array with zeros

for(var i = 0; i < series.length; i++) {
  for(var j = 0; j < dataLength; j++) {
    result[j] += series[i].data[j];
  }
}

关于javascript - 如何使用 javascript 或 Angular 将一个数组的每个元素添加到其他数组中的相应元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25004122/

相关文章:

javascript - jQuery UI Accordion - 启用一些面板

php - 比较对象数组

C# 可变数组项?

c# - ASP.Net Core Web API - ICollection 未显示在 JSON 结果集中

mysql - 在 MySQL 查询中使用 JSON_CONTAINS 得不到结果

javascript - 是否有用于异步 JSON 解析器的 Node 模块,它不会将整个 JSON 字符串加载到内存中?

c# - 在 gridview asp.net mvc c# 的 jquery 中查找元素

javascript - 如何删除数据表中本地存储中表中的特定行

javascript - react : "history" prop is not available in a private route

java - 反向查找 ArrayList 的 Array 值