我有一个viewmodel,我希望按两个单独的字段排序(ala a group a in SQL),首先按字母顺序排列一个字段,然后按第二个字段排序(也按字母顺序)。现在我只是按第二个字段排序。我在TypeScript中有一个排序函数,设置如下:
private sortTable(item): any {
item.sort(function (left, right) {
return left.nm == right.nm? 0 : (left.nm < right.nm ? -1 : 1)
});
return item;
}
我想要排序的字段(第一个字段)在JavaScript对象中称为fNm。任何人都可以帮助我吗?
谢谢!
答案 0 :(得分:2)
private sortTable(item): any {
item.sort(function (left, right) {
if (left.FirstSortField == right.FirstSortField)
return left.SecondSortField== right.SecondSortField? 0 : (left.SecondSortField< right.SecondSortField? -1 : 1)
else
return left.FirstSortField == right.FirstSortField ? 0 : (left.FirstSortField < right.FirstSortField ? -1 : 1)
return item;
}
请注意,我没有对此进行测试。
答案 1 :(得分:0)
通过思考,如果姓氏相同,则第一个名称仅影响排序。
将第一个表达式中的0替换为:
(left.fNm == right.fNm ? 0 : (left.fNm < right.fNm ? -1 : 1))