以数字方式对多维数组α进行排序

时间:2018-02-02 10:03:31

标签: javascript arrays sorting multidimensional-array

这是我的数组,我需要对第二个元素进行排序

[{id:1,name:beta},
{id:2,name:alpha},
{id:3,name:charlie}]

我如何将其排序为

[{id:2,name:alpha},
    {id:1,name:beta},
    {id:3,name:charlie}]

我试过

roles = roles.sort(function(a,b) {
      return a[1] - b[1];
    });

roles = roles.sort(function(a,b) {
      return a.name - b.name;
    });

它没有按预期排序,因为我在数组中有对象。我该怎么办?

1 个答案:

答案 0 :(得分:3)

a.name函数中比较b.namesort

var arr = [
  {
    id: 1,
    name: 'beta'
  },
  {
    id: 2,
    name: 'alpha'
  },
  {
    id: 3,
    name: 'charlie'
  }
];

arr = arr.sort(function(a,b){
  return +(a.name > b.name);
});

console.log(arr);