带有多个属性的对象的打字稿排序数组

Den*_*nis 5 arrays sorting typescript

我喜欢用具有多个属性的对象对数组进行排序。我的对象有一个名为 name 的字符串和一个名为 required 的布尔值。

首先我想按年龄排序,然后按名字排序。

我该怎么做呢?

按年龄订购很容易...:

this.model.mylist.sort((obj1: IObj, obj2: IObj => {
    if (obj1.age < obj2.age) {
        return -1;
    }
    if (obj1.age > obj2.age) {
        return 1;
    }
    return 0;
});
Run Code Online (Sandbox Code Playgroud)

Mar*_*cka 6

好吧,您只在两个年龄值相同的情况下添加比较。所以这样的事情应该有效:

this.model.mylist.sort((obj1: IObj, obj2: IObj) => {
    if (obj1.age < obj2.age) {
        return -1;
    }
    if (obj1.age > obj2.age) {
        return 1;
    }

    return obj1.name.localeCompare(obj2.name);
});
Run Code Online (Sandbox Code Playgroud)