繁体   English   中英

TypeScript按对象排序对象

[英]TypeScript Sort Object by Object in Array

有谁知道如何在任务中按值TaskTime对Person进行排序?

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

感谢帮助

javascript Array对象附带一个内置排序方法 ,你传递一个比较函数,如下所示:

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

大批<object>在打字稿中<div id="text_translate"><p>我想向数组添加一个对象,但我不知道如何声明返回类型为Array&lt;object&gt;的变量。</p><p> 我的例子:</p><pre> var obj = { 'Prop name': 'Prop value' }; document.body.innerHTML = typeof obj; // output: object var arr: Array&lt;object&gt;; // error message: Cannot find name 'object' arr.push(obj);</pre><p> 我再次尝试过:</p><pre> var obj: Object = { 'Prop name': 'Prop value' }; document.body.innerHTML = typeof obj; // output: object var arr: Array&lt;Object&gt;; arr.push(obj); // error message: Cannot read property 'push' of undefined</pre><p> 我该如何解决这个问题?</p></div></object>

[英]Array<object> in typescript

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM