35790


現在、List.jsを用いてリストの並び替えを行っております。  
このとき、特定の並び順は固定したままその中で並び替えを行いたいと考えているのですが  
実装方法はございますでしょうか。

ご存知の方がいらっしゃいましたら、ご助言を頂きたいです。  
\------------------------------------------------------------------------------\

例）以下の列を、小学校が上側・中学校が下側である状態を維持したまま名前順にソート  
○並び替え前  
・Ｃ小学校  
・Ａ小学校  
・Ｂ中学校  
・Ａ中学校  
↓  
○並び替え後  
・Ａ小学校  
・Ｃ小学校  
・Ａ中学校  
・Ｂ中学校


CC BY-SA 3.0
2017-06-21T19:18:15.933
35786
2017-06-22T00:54:12.423
7384
question
javascript
List.jsを用いたソート時、特定の並び順を固定にする方法


[List.js List API Method sort](http://listjs.com/api/#sort)

ListAPIのソートメソッドのオプションを確認すると、  
sortFunctionオプションが有りますので、  
ユーザ定義の比較関数でソートが利用できるようです。

[code]

    sort(valueName, {
      order: 'desc',
      alphabet: undefined,
      insensitive: true,
      sortFunction: undefined
    })
    
[/code]

比較関数は  
・中学校と小学校だったら 小学校を上に  
・同じ（小学校同士もしくは中学校同士）だった場合は 名前順で上に  
という比較定義にすれば大丈夫かと思います。

ちなみにソート関数のAPIは  
[ソースコード](https://github.com/javve/list.js/blob/master/src/sort.js#L76)  
を確認すると

[code]

    function (itemA, itemB, options)
    
[/code]

のようです。  
これ以上はコーディング依頼になりそうなのでやめておきます。


CC BY-SA 3.0
2017-06-22T00:54:12.423
35790
2017-06-22T00:54:12.423
22665
35786
answer