我正在嘗試以下操作。考慮到這一點,我想對一些棒球運動員進行分類。經理應該位於最上方(按活躍姓名排序),然後我想對玩家或任何其他類型進行排序 - 可以通過激活並命名爲其他幾種類型。如何對不同的屬性執行自定義骨幹排序?
最重要的是,我在名稱上使用了不區分大小寫的自然對象。
這是一個例子列表:這些
[
{type: 'manager', name: 'Michael A', active: true},
{type: 'player', name: 'Abraham B', active: true},
{type: 'player', name: 'Jason R', active: false},
{type: 'manager', name: 'John A', active: true},
{type: 'coach', name: 'Ron A', active: true},
{type: 'player', name: 'Bobby A', active: false},
{type: 'player', name: 'Bobby J', active: true}
]
排序應該產生:
[
{type: 'manager', name: 'Michael A', active: true},
{type: 'manager', name: 'John A', active: true},
{type: 'player', name: 'Abraham B', active: true},
{type: 'player', name: 'Bobby J', active: true}
{type: 'coach', name: 'Ron A', active: true},
{type: 'player', name: 'Bobby A', active: false},
{type: 'player', name: 'Jason R', active: false},
]
有一件事我已經試過是一個case語句,但我不知道該怎麼做下一水平排序(名稱和活動)
comparator: function(person) {
switch (person.get('type')) {
case 'manager': return 1;
default: return 2;
}
}
@EmileBergeron這不僅是多個字段。這個問題還有另一個深度。 – KingKongFrog
你的問題中描述的是多場排序的常見情況。 –
@EmileBergeron請重新閱讀。你顯然不明白,它的2級排序,然後是多場排序。 – KingKongFrog