我将javascript类型定义为IManualLog中的仅一种,IActionLog类型设置了时间。
type ActivityLog {
manualLog? : IManualLog
actionLog? : IActionLog
automaticLog? : IAutomaticLog
}
type IManualLog {
timestamp : string;
... more fields
}
type IActionLog {
timestamp : string;
... more fields
}
我有两个问题给定一个ActivityLog类型的数组,我想按时间戳的升序对其进行排序。在打字稿中实现此目的的最佳方法是什么?打字稿是否具有联合类型来声明这一事实。
如果您的问题是“如何在每个对象中按最小时间戳排序?”
arr.sort((a,b)=>{
const aMin = Math.min(a.manualLog.timestamp, a.actionLog.timestamp);
const bMin = Math.min(b.manualLog.timestamp, b.actionLog.timestamp);
return aMin < bMin ? -1 : 1;
})