Javascript 按优先级按属性排序
我有我想要排序的项目,我的项目在模型上计算了属性,包括Javascript 按优先级按属性排序,javascript,sorting,ember.js,Javascript,Sorting,Ember.js,我有我想要排序的项目,我的项目在模型上计算了属性,包括获胜,投标,关闭,和观看 这些属性中的每一个都是true或false 我想排序的项目,使所有的中标项目是第一,然后所有的投标项目,然后所有的观看项目,然后所有的关闭项目 我怎样才能做到这一点?我需要在一个排序函数中完成所有操作,还是可以指定多个排序函数 我试过这样做是为了赢,但我不知道接下来该怎么办 sortedItems: Ember.computed.sort('filteredItems',function(a,b){ if(a.g
获胜
,投标
,关闭
,和观看
这些属性中的每一个都是true或false
我想排序的项目,使所有的中标项目是第一,然后所有的投标项目,然后所有的观看项目,然后所有的关闭项目
我怎样才能做到这一点?我需要在一个排序函数中完成所有操作,还是可以指定多个排序函数
我试过这样做是为了赢,但我不知道接下来该怎么办
sortedItems: Ember.computed.sort('filteredItems',function(a,b){
if(a.get('winning') == true && a.get('winning') != b.get('winning')){
return -1;
}
if(a.get('winning') == b.get('winning')){
return 0;
}
if(a.get('winning') == false && a.get('winning') != b.get('winning')){
return 1;
}
}),
我建议使用这样的排序功能。它通过分组投标状态进行排序
function (a, b) {
var status = { winning: 1, bidding: 2, closed: 3, watching: 4 };
return status[a.bidStatus] - status[b.bidStatus];
}
请给我们看一下你的代码我真的要让你看什么和怎么问吗?提示:Show efforces and example添加了一些代码来显示我已经尝试过的内容“我是否需要在一个排序函数中完成这一切”是的。
function (a, b) {
var status = { winning: 1, bidding: 2, closed: 3, watching: 4 };
return status[a.bidStatus] - status[b.bidStatus];
}