0

我有一个视图模型,我想按两个单独的字段(在 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。谁能帮我吗?

谢谢!

4

2 回答 2

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

请注意,我没有对此进行测试。

于 2013-06-26T20:28:22.463 回答
0

仔细想想,如果姓氏相等,名字只会影响排序。

将第一个表达式中的 0 替换为:

(left.fNm == right.fNm ? 0 : (left.fNm < right.fNm ? -1 : 1))
于 2013-06-26T21:17:39.460 回答