举个例子,比如我一个题库的列表想要按选择题、判断题、填空题、简答题、应用题的顺序排序。
每个题目是一个对象,它有个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')); //传入对象的属性,按属性进行排序