2016-12-20 15 views
1

テーブル内にng-repeatを使用してjsonから日付を取得します。この日付は、次のようになります。テーブル内の日付を並べ替える方法角度

20_12_2016

それが唯一の「_」で停止を注文する、最初の2つの数字(20_12_2016のみ「20」をソートしますので、私は、OrderByことによってそれを並べ替えることはできません)。

表は次のようになります。

01_03_2016, 
02_01_2016, 
02_06_2016... 

どのように私は数ヶ月で並べ替えることができますか?

+0

のように試すことができます。この場合、注文のためにカスタムフィルターを作成する必要があります。それは文字列データを受け取り、デフォルトの比較演算子を使って比較できる数値に変換するかもしれません。 - ここでフィルタの作成を読むことができます:https://docs.angularjs.org/api/ng/filter/filter – Tobi

+0

インタースティングの解決策は、アプリで「20_12_2016」を日付として認識することで可能になりますそれをフォーマットする。どのようにatmのために知りません。 – Mistalis

+0

JavaScriptで日付を解析する方法(またはISO 8601などの標準形式の日付を与えるデータを提供するシステムで作業する方法)に関するいくつかの調査を行います:http://stackoverflow.com/q/2587345/215552角度でそれらを並べ替える:http://stackoverflow.com/q/35402478/215552 –

答えて

0

これを試してみてください:Plunker

| orderBy: '+date.substring(3,5)'"> 
0

はあなたが文字列(フォーマットされた日付を含む)のリストを持っているように見える私にはそう

var app = angular.module("myApp", []); 
    app.controller("myCtrl", function($scope,$compile) { 

    $scope.sortByDate = function(date) { 
     var b = date.split('_').map(Number); 
     return b 
    } 
}) 




<div ng-repeat="dateobj in ['20_11_2016','25_11_2016','10_11_2016'] | orderBy:getlastname" >{{dateobj}}</div> 
関連する問題