Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按优先级按属性排序_Javascript_Sorting_Ember.js - Fatal编程技术网

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];
}