如何按特定字段对对象数组进行排序?

时间:2015-07-29 23:59:46

标签: javascript jquery sorting object

按值排序对象:

test": [{
    "position_order": 3,
},  {
    "position_order": 1,
}]

如何对此进行排序,以便显然position_order 1在对象数组中排在第一位?

3 个答案:

答案 0 :(得分:1)

Array.Prototype.Sort允许您指定比较函数。

test.sort(function(a, b) {
   if(a.position_order < b.position_order) {
      return -1;
   }
   if(b.position_order < a.position_order) {
      return 1;
   }
   return 0;
});

答案 1 :(得分:0)

你应该考虑使用Underscore,一个令人惊奇的JS库来操作集合,函数和对象。它适用于客户端和服务器(Node.js)。

你是如何用Underscore做的。

test = [{
    "position_order": 3,
},  {
    "position_order": 1,
}];
var ordered = _.sortBy(test, 'position_order');

答案 2 :(得分:-1)

使用数组排序功能

var test = [{
"position_order": 3,
},  {
    "position_order": 1,
}];

test.sort(function(a,b){
    return a.position_order >= b.position_order ? 1 : -1
})