1

ソートコードをすべて理解しましたが、期待どおりに機能しています。二次フィルターのオプションが好きです。

私は次のようなシリーズを持っています:

<div id="member1" class="sortItem" data-factor="2">
    <span class="name">Jobs</span>
</div>
<div id="member2" class="sortItem" data-factor="2">
    <span class="name">Wayne</span>
</div>
<div id="member3" class="sortItem" data-factor="3">
    <span class="name">Wozniak</span>
</div>

したがって、データ要素で並べ替えると、次のようになります (省略):

+-------------+-------------+
   NAME           FACTOR
+-------------+-------------+
Wozniak         3
Wayne           2
Jobs            2

しかし、私が望むのは、次のように常にアルファベット順になるセカンダリソートです。

+-------------+-------------+
   NAME           FACTOR
+-------------+-------------+
Wozniak         3
Jobs            2
Wayne           2

および data-factor での逆の並べ替え (並べ替えボタンをもう一度クリック):

+-------------+-------------+
   NAME           FACTOR
+-------------+-------------+
Jobs            2
Wayne           2
Wozniak         3

2 番目の並べ替えを実装する方法についてのアイデアはありますか?

乾杯!

4

2 に答える 2

1

並べ替えメソッドは、アルファベット順または数値順に並べ替えられる文字列または数値を返すだけです。

両方を組み合わせたい場合、最小公分母は stringです。

残っている唯一の問題は、数字をアルファベット順に並べ替える方法です。先頭に 0 を追加してパディングすることで、これを行うことができます。コレクションのサイズに応じて、1 桁、2 桁、または 3 桁が必要になる場合があります。

例えば

3 桁 (最大 1000 要素) の場合、ソート キーは次のようになります。

003Wozniak
002Jobs
002Wayne

意図したとおりにソートされます。

于 2013-05-16T12:43:43.263 に答える