是否可以使用日期索引Angularjs中的表?

我正在根据两个系列的日期创建图表:

>创建的项目数
>更新的项目数量

我从我们的API发出请求并获得了一个包含以下数据的文件:

"result":[
{
"closed_on" : "YYYY-MM-DD",
"created_on" : "YYYY-MM-DD"
}
{
"closed_on" : "YYYY-MM-DD",
"created_on" : "YYYY-MM-DD"
}
{
"closed_on" : "YYYY-MM-DD",
"created_on" : "YYYY-MM-DD"
}
{...}
]

我想知道什么是将图形数据作为此类对象的集合的最佳解决方案:

x : date,
created : integer,
updated : integer

我认为这是一个以日期作为索引的表,并遍历整个文件并增加索引表中的值.

但是,我在Internet上查找信息时遇到了一些问题.
我想到了类似的东西:

  $scope.datas=[];

  $scope.date = $scope.date.start;

  while($scope.date!==$scope.date.end) 
  {
      $scope.datas.push({
      date
      : [{
        closed_tickets:0,
        created_tickets:0
      }]
    });

      $scope.date = $scope.date.addDays(1);


  }

但是,它不起作用..有什么建议吗?
谢谢!

最佳答案 您可以尝试使用
reduce function.像这样的东西:

$scope.dateList = response.result //get the array of dates

$scope.datas = $scope.dateList.reduce(function(prev, current, index, array) {
 var closedIndex = prev.findIndex(function(ele, i, a) {ele.x == current.closed_on}); 
 if(closedIndex > -1) 
   prev[closedIndex].closed_tickets++;
 else
   prev.push({x:current.closed_on, closed_tickets:1, created_tickets:0});

 var createdIndex = prev.findIndex(function(ele, i, a) {ele.x == current.created_on}); 
 if(createdIndex > -1) 
   prev[createdIndex ].created_tickets++;
 else
   prev.push({x:current.created_on, closed_tickets:0, created_tickets:1});

 return prev;

}, []);
点赞