Arrays TypeScript在数组中按对象排序
有人知道如何在任务中按值TaskTime对数组进行排序吗Arrays TypeScript在数组中按对象排序,arrays,typescript,Arrays,Typescript,有人知道如何在任务中按值TaskTime对数组进行排序吗 export class Person { Id: string; Email: string; FirstName: string; LastName: string; Presence: boolean; RegisterTime: Date; tasks: Array<Task> } export class Task { TaskName: string
export class Person {
Id: string;
Email: string;
FirstName: string;
LastName: string;
Presence: boolean;
RegisterTime: Date;
tasks: Array<Task>
}
export class Task {
TaskName: string;
DoneTask: boolean;
TaskTime: number;
}
导出类人员{
Id:字符串;
电子邮件:字符串;
名字:字符串;
LastName:string;
存在:布尔;
注册时间:日期;
任务:数组
}
导出类任务{
任务名称:字符串;
顿涅茨克:布尔型;
任务时间:编号;
}
感谢您的帮助javascript
数组
对象附带了一个内置函数,您可以向其传递一个比较函数,如下所示:
function compare(a, b) {
if (a is less than b by some ordering criterion) {
return -1;
}
if (a is greater than b by the ordering criterion) {
return 1;
}
// a must be equal to b
return 0;
}
因此,在你的情况下:
let person = new Person();
console.log(person.tasks.sort((task1, task2) => task1.TaskTime - task2.TaskTime));
尝试按照这种方式对数组进行排序。下面的示例代码将按blockId字段按降序对数组进行排序
this.itemList.sort((left, right): number => {
if (left.blockId < right.blockId) return 1;
if (left.blockId > right.blockId) return -1;
return 0;
});
this.itemList.sort((左、右):number=>{
if(left.blockIdright.blockId)返回-1;
返回0;
});