这是我的数组,我需要对第二个元素进行排序
[{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;
});
它没有按预期排序,因为我在数组中有对象。我该怎么办?
答案 0 :(得分:3)
在a.name
函数中比较b.name
和sort
。
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);