舉個例子,比如我一個題庫的列表想要按選擇題、判斷題、填空題、簡答題、應用題的順序排序。
每個題目是一個對象,它有個type屬性記錄了它的題型。然後各個題目對象組合成一個對象數組。當我插入新的題目後,將列表刷新按規則排序。
按規則排序的函數
//按特定順序排序
function compare(property) {
return function (a, b) {
//排序規則
var rule = ['選擇題','判斷題','填空題', '簡答題', '應用題'];
return rule.indexOf(a[property]) - rule.indexOf(b[property]);
}
};
然後我們在對數組調用即可
data.sort(compare('type')); //根據題目對象的type屬性進行排序
其實很簡單。更簡單常用的比如這樣
//按特定順序排序
function compare(property) {
return function (a, b) {
return a[property] - b[property];
}
};
data.sort(compare('username')); //傳入對象的屬性,按屬性進行排序