我有一个JSON,它返回一个数组内的对象。
我使用angular.forEach来迭代数据。每个对象都有一个日期,我想与列表中的下一个对象进行比较。
怎么可以这样做?
下面的代码段会返回所有日期,我想检查下一个条目是否与上一个日期相同。如果不是,则将这两个值与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);
});

答案 0 :(得分: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);
});
});