2 回答

TA貢獻1804條經驗 獲得超8個贊
您可以獲得ISO 8601字符串并按字符串排序。
const getISO = o => {
const [d, m, y] = o.date.match(/.{8}$/)[0].split('.');
return `20${y}-${m}-$ujfoute ${o.time}`;
};
var data = [{ date: "Dienstag, 07.07.20", time: "09:15", id: "18685672" }, { date: "Dienstag, 07.07.20", time: "13:10", id: "18685668" }, { date: "Freitag, 10.07.20", time: "12:05", id: "18685736" }, { date: "Montag, 06.07.20", time: "10:10", id: "18685684" }, { date: "Montag, 06.07.20", time: "14:05", id: "18685652" }, { date: "Donnerstag, 09.07.20", time: "14:10", id: "18685718" }];
data.sort((a, b) => getISO(a).localeCompare(getISO(b)));
console.log(data);
.as-console-wrapper { max-height: 100% !important; top: 0; }

TA貢獻2016條經驗 獲得超9個贊
說數組在arr. 然后:
arr.sort((a,b)=>{
aa=a.date.split(" ")[1].split(".").reverse().join(".")+a.time;
bb=b.date.split(" ")[1].split(".").reverse().join(".")+b.time;
return aa<bb?-1:aa==bb?0:1;
})
我假設你的日期是正常的,就像世界上任何地方一樣:dayOfMonth.Month.Year,不像美國的愚蠢,月份在 dayOfMonth 之前,例如:“7 月 4 日在 7 月 4 日慶?!?..... :)
添加回答
舉報