我有一个包含月份和年份列的表格。我该如何排序日期和年份。请检查小提琴。
在这种情况下,日期格式为“MMMM yyyy”。我的要求是,例如,
如果我的日期是“2016年8月”,“2015年9月”和“2018年1月”。在这里,我想根据年份对日期进行排序。所以结果应该是这样的, “2015年9月”,“2016年8月”和“2018年1月”。
我怎样才能在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("02/06/2016");
dateA.setDate(dateA.getDate() + 2);
var dateB = new Date("07/06/2017");
dateB.setDate(dateB.getDate() + 4);
var dateC = new Date("08/06/2016");
dateC.setDate(dateC.getDate() + 7);
var dateD = new Date("04/06/2018");
dateD.setDate(dateD.getDate() + 20);
$scope.allItems = [{
date: dateA,
name: "A"
}, {
date: dateB,
name: "B"
}, {
date: dateC,
name: "C"
}, {
date: dateD,
name: "D"
}];
};
<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">
<td>{{item.date | date:"MMMM yyyy"}}</td>
<td>{{item.name}}</td>
</tr>
</tbody>
</table>
</div>
答案 0 :(得分:0)
var dateA = new Date("02/06/2016");
dateA.setDate(dateA.getDate() + 2);
var dateB = new Date("07/06/2017");
dateB.setDate(dateB.getDate() + 4);
var dateC = new Date("08/06/2016");
dateC.setDate(dateC.getDate() + 7);
var dateD = new Date("04/06/2018");
dateD.setDate(dateD.getDate() + 20);
let allItems = [{date: dateA,name: "A"}, {date: dateB,name: "B"}, {date: dateC,name: "C"}, {date: dateD,name: "D"}];
allItems.sort((a,b) => a.date - b.date);
console.log(allItems);
&#13;