arrays - 带有多个属性上的对象的 typescript 排序数组

标签 arrays typescript sorting

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

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

我该怎么做?

按年龄排序很容易...:

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

最佳答案

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

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

关于arrays - 带有多个属性上的对象的 typescript 排序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35268635/

相关文章:

php - 预置到多维关联数组

javascript - JS 数组中输入标签集的值

typescript - 条件类型无法识别所有输入都会导致相同的条件结果

typescript - Go中 typescript 解密中的AES加密

javascript - 禁用 jQuery DataTables 中特定列的排序

javascript - 推送新元素后数组损坏

python - Python 中的编码风格

javascript - 在 UWP 项目中使用 Typescript 或 ES6 javascript

java - 使用自定义比较器排序的集合不起作用

Java:允许重复的排序列表/集合