如何通过内部的数字对对象进行排序

时间:2017-03-07 15:08:26

标签: javascript sorting object numbers

尝试根据内部数字对某个对象进行排序

例如:

    var object = {
        sort: 15,
        name: "Value 2"
    },
    {
        sort: 10,
        name: "Value 1"
    }

所以我基本上想要通过排序'来对这里的对象进行排序。里面的价值。有一个简单的方法吗?

谢谢!

4 个答案:

答案 0 :(得分:0)

如果是数组,则使用Array#sort方法使用自定义比较函数进行排序。

var object = [{
    sort: 15,
    name: "Value 2"
  },
  {
    sort: 10,
    name: "Value 1"
  }
];

object.sort(function(a, b) {
  return a.sort - b.sort
});

console.log(object);

答案 1 :(得分:0)

考虑这个有效的js:

这个例子
var myArray = [{
        sort: 15,
        name: "Value 2"
    },
    {
        sort: 10,
        name: "Value 1"
    }]
myArray.sort(function(item, nextItem){
  return item.sort - nextItem.sort;
});

答案 2 :(得分:0)

我假设你在谈论一系列对象。即:

var object = [{sort: 15,name: "Value 2"},{sort: 10,name: "Value 1"}]

在这种情况下,您可以使用Array.prototype.sort()

var obj = [{
  sort: 15,
  name: "Value 2"
}, {
  sort: 10,
  name: "Value 1"
}]

obj.sort(function(itemA, itemB){
  return itemA.sort - itemB.sort
});

console.log(obj)

答案 3 :(得分:0)

这可以将比较函数传递给数组排序函数。

例如:

var someData = [{id:2, name:"Jacob"}, 
                {id:1, name:"Josh"}, 
                {id:3, name:"Trevor"}];

someData.sort(function(a,b) { return a.id - b.id});