Сортировать месяц и год в колонке angularjs - PullRequest
0 голосов
/ 12 июня 2018

У меня есть список значений дат, как показано ниже,

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>

Как отсортировать эти даты по месяцам и годам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...