一般的な問題や、オブジェクト内の日付を変更して時系列のリストに結合することで他の人が恩恵を受けるようなものについては助けが必要です。全体的な目標は、今年で開催される特別な日付のすべてを反映したリストを作成することです:Javascriptはオブジェクトの日付をループして結合します
1 Jan - Sharpe's Anniversary 2 May - Edward's Birthday 12 Dec - Zero's Anniversary etc...
私はこれを表現するオブジェクトを作成することから始めました。次に、比較を行うだけで最初の出現の順序でそれらを並べ替えることはありませんが、年間をスライスが、年間ベースを与えるでしょう。次に日付を時間順に並べ替えるために比較を実行します。その後、一致する人物のIDで結果をログアウトします。
これまで、私はそれを動作させました。しかし、私はこれを繰り返す方法を知らず、ドライにしています。記念日のためにこれを実行して、そしてカスタム機能を何らか作成せずに誕生日にするのは間違いでしょう。すべての私の試みはうまく終わらなかった。
誰かがより洗練されたソリューションを持っていますか?ここでは、コミュニティへ
ありがとう:)
// Sample data
var items = [{
name: 'Edward',
anniversary: "2015-01-23",
birthday: "1988-05-02"
},
{
name: 'Sharpe',
anniversary: "2017-01-01",
birthday: "1988-05-10"
},
{
name: 'And',
anniversary: "2018-05-10",
birthday: "1988-06-12"
},
{
name: 'The',
anniversary: "1988-08-11",
birthday: "1979-03-12"
},
{
name: 'Magnetic',
anniversary: "2017-01-05",
birthday: "1956-06-21"
},
{
name: 'Zeros',
anniversary: "1990-12-12",
birthday: "1935-07-23"
}
];
// Slice out the year so that dates are annualized
for (var i = 0; i < items.length; i++) {
items[i].anniversary = items[i].anniversary.slice(5, 10);
};
// Sort dates in chronological order
items.sort(function(a, b) {
return new Date(a.anniversary) - new Date(b.anniversary);
});
// Console.log the dates with their associated name
for (var i = 0; i < items.length; i++) {
console.log(items[i].anniversary + " " + items[i].name);
}
ロブこれは完璧な答えです。私はこのスマートなバージョンにも興味があります。あなたはどうやってそのようにしますか? –