我喜欢用具有多个属性的对象对数组进行排序。我的对象有一个名为 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/