JavaScriptで、とあるAPIを使って取得した記事データを配列に入れており、その際のコードが下記のようなものとなっております。
記事の数だけオブジェクトが増えていくのですが、最後にこれら記事の日付を基にして、配列内で並び替えを行いたいのですが、単純な数列ならともかく、この複雑な日付フォーマットをどのように処理すれば正しく並び替えができるのか分かりません。
お知恵ご教授頂けますと幸いです。
よろしくお願いいたします。
JavaScript
1var articleData = {data:[]}; 2 3var article = { 4 'title': test[i].title, // APIから取得したデータをこんな感じで流し込んでいます 5 'date': test[i].date, // こちらも同様 6}; 7 8articleData.data.push(article); // 配列に追加 9 10 11 12
JavaScript
1// 生成されたコードは最終的に以下のような形なります。 2// これを日付順に並び替えたいと考えております(下記の場合、記事A→C→Bの順になるようにしたい)。 3 4{data:[ 5 { 6 'title': '記事A', 7 'date': 'Tue, 22 May 2018 13:20:00 GMT', 8 }, 9 { 10 'title': '記事B', 11 'date': 'Tue, 8 May 2018 06:35:12 GMT', 12 }, 13 { 14 'title': '記事C', 15 'date': 'Tue, 15 May 2018 18:21:12 GMT', 16 } 17]}; 18 19
以下のコードで解決いたしました
JavaScript
1articleData.data.sort(function(a, b){ 2 return new Date(b.date) - new Date(a.date); 3});
回答2件
あなたの回答
tips
プレビュー