AngularJS forEach 比较下一个索引数组

Posted

技术标签:

【中文标题】AngularJS forEach 比较下一个索引数组【英文标题】:AngularJS forEach compare next index array 【发布时间】:2015-08-13 00:04:55 【问题描述】:

我有一个 JSON 返回数组中的对象。

我正在使用 angular.forEach 来迭代数据。每个对象都有一个日期,我想将其与列表中的下一个对象进行比较。

如何做到这一点?

下面的sn-p返回所有日期,我想检查下一个条目是否与上一个相同。如果不是,则将这两个值与 Moment.js 进行比较

所以第一个 [0] 和第二个 [1] 有相同的日期,但是第三个日期 [2] 有“2015-01-03”我需要抓住这个并比较这两个值。

非常感谢您的帮助!

    $scope.my_data = [
      
        date: "2015-01-02"
      ,
      
        date: "2015-01-02"
      ,
      
        date: "2015-01-03"
      ,
    ];

    angular.forEach($scope.my_data, function(value1, key1) 
      var missing_days = value1.date;
      console.log('missing days', missing_days);
    );

【问题讨论】:

【参考方案1】:

您可以使用 angular.forEach 轻松做到这一点,只需使用提供的索引在原始数据集中向前看一个位置

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) 
  $scope.my_data = [
    date: "2015-01-02"
  , 
    date: "2015-01-02"
  , 
    date: "2015-01-03"
  , ];

  angular.forEach($scope.my_data, function(value, key) 
      var missing_days = value.date;
      console.log('missing days', missing_days);
      var nextObject = $scope.my_data[key+1 % $scope.my_data.length];
      console.log(nextObject);
  );
);

http://plnkr.co/edit/y4qeNe?p=preview

【讨论】:

以上是关于AngularJS forEach 比较下一个索引数组的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS - ForEach 不循环

在 AngularJS 中使用 angular.forEach 实现异步等待

带有索引的Java 8 forEach [重复]

AngularJS 和 Laravel Foreach

angularjs 在 $http 成功中打破 forEach

AngularJS的Foreach循环示例