0

最初に1つのフィールドをアルファベット順に並べ替え、次に2番目のフィールドで並べ替えます(これもアルファベット順)。現在、2番目のフィールドでのみソートしています。次のように設定された 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 に答える