我有以下日期值列表,
1)2018年6月
2)2017年3月
3)2016年4月
4)2017年5月
5)2016年9月
6)2018年2月
月份可能,但是年份是2017年。应根据月份和年份进行排序。
如何在AngularJS中对这些日期列进行排序?
var app = angular.module('app', [])
.controller('appController', appController);
appController.$inject = ['$scope', '$window'];
function appController($scope, $window) {
$scope.title = "date sorting example";
$scope.sortType = "name";
$scope.sortReverse = true;
var dateA = new Date("12/10/2017");
console.log(dateA);
dateA.setDate(dateA.getDate() + 2);
var dateB = new Date("08/04/2018");
dateB.setDate(dateB.getDate() + 4);
var dateC = new Date("04/09/2016");
dateC.setDate(dateC.getDate() + 7);
var dateD = new Date("01/01/2017");
dateD.setDate(dateD.getDate() + 20);
$scope.allItems = [{
date: dateA,
name: "A"
}, {
date: dateB,
name: "B"
}, {
date: dateC,
name: "C"
}, {
date: dateD,
name: "D"
}];
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body ng-app="app">
<div ng-controller="appController">
<h1>This is my {{title}}</h1>
<table class="table table-striped">
<thead>
<td data-ng-click="sortType = name; sortReverse = !sortReverse;">
Date
</td>
<td data-ng-click="sortType = name; sortReverse = !sortReverse;">
Name
</td>
</thead>
<tbody>
<tr ng-repeat="item in allItems | orderBy:sortType:sortReverse">
<td>{{item.date | date:'MMMM yyyy'}}</td>
<td>{{item.name}}</td>
</tr>
</tbody>
</table>
</div>
</body>
如何根据月份和年份对这些日期进行排序。