У меня есть список значений дат, как показано ниже,
1) Июнь 2018
2) Март 2017
3) Апрель 2016
4) май 2017 года
5) сентябрь 2016 года
6) февраль 2018 года
Месяц май, но год 2017. Его следует сортировать по месяцуи год.
Как мне отсортировать эти столбцы даты в AngularJS?
jsfiddle
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>
Как отсортировать эти даты по месяцам и годам.