有没有办法根据javascript中对象中的whats对对象数组进行排序?

时间:2011-06-16 12:22:08

标签: javascript arrays sorting object

我有一个对象数组,我想知道你是否可以通过对象中的属性对数组进行排序?以下是我的意思的样本:

for (var i = 0; i < response.data.length; i++) {
    person[i] = {
        "name":response.data[i].name,
        "phone":response.data[i].phone
    };
    person[i].name.sort();
}

我正在尝试按对象名称对数组进行排序。

2 个答案:

答案 0 :(得分:8)

person.sort(function(a, b) {
  if (a.name < b.name) return -1;
  if (a.name > b.name) return 1;
  return 0;
});

sort将比较器函数作为可选参数。

答案 1 :(得分:0)

不确定。数组对象有一个sort函数,允许您传入一个函数来确定如何比较对象。

//Passes in A and B, which are the objects in your array.
function sortName(a, b)
{
    return a.name <= b.name ? -1 : 1
           //return integer
           //negative number a is less than b
           //positive number b is less than a
           //zero a and b are equal
           //(My function doesn't ever return zero)
}

person.sort(sortName);