Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays TypeScript在数组中按对象排序_Arrays_Typescript - Fatal编程技术网

Arrays TypeScript在数组中按对象排序

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

有人知道如何在任务中按值TaskTime对数组进行排序吗

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;
});