オブジェクト配列をDate値で並べ替えるのに問題があります。私は他のユーザーが以前に尋ねた多くの質問を見つけたので、すべての解決策を検討しましたが、私のソート問題の解決策はまだありませんでした。ソート機能をテストするために2つの異なる配列を作成しましたが、正しい順序で日付を取得できませんでした。ここに私のデータは次のとおりです。日付でJavascriptオブジェクトの配列を並べ替える方法は?
[Object { eventDate="12/12/2016", display_order="5"},Object { eventDate="12/12/2016", display_order="3"}]
[Object { eventDate="04/21/2016", display_order="3"},Object { eventDate="04/21/2016", display_order="1"}]
私は日付値で自分のデータをソートするために、このロジックを使用:
entries.sort(function(a,b){
var i = new Date(a.eventDate);
var j = new Date(b.eventDate);
return i-j;
});
私のデータはまだこの機能を使用して、正しい順序で並べ替えませんでした。
dates.sort(function(a, b) {
a = new Date(a.dates);
b = new Date(b.dates);
return a>b ? -1 : a<b ? 1 : 0;
});
私の出力はまだやった:その後、私はこれを実行しようとしました["12/12/2016", "04/21/2016"]
:
var dates = Object.keys(groupedByDate);
console.log(dates)
これは、変数の日付のために出力されます。そして、私はまた、このようになります私の配列をソートしてみました私の日付を正しい順序で並べ替えてはいけません。私は何か間違っているのか、何か他のことが問題であるかどうかはわかりません。誰かが助けてくれたら教えてください。ありがとう。 (ミリ秒の数で)Date.getTime()
機能を使用して
を私はあなたが昇順で、それをソートしたいと仮定?あなたのソートは私のために働くが、それは降順でそれを注文する....あなたはまた、出力として日付だけを期待している? – MinusFour
あなたの最初のソート関数は正しいと思いますが、Dateコンストラクタの 'datestring'はそうではありません。 Dateインスタンスが正しく構築されているかどうかを確認する必要があります。 – michaPau