Possible Duplicate:
Sort array of objects




[ { name: 'jane', id:'3' }
  { name: 'zac', id: '5' }
  { name: 'amber', id: '2 }
]


如何按名称的字母顺序升序排列?

结果应为:

[ { name: 'amber', id: '2' }
  { name: 'jane', id:'3' }
  { name: 'zac', id: '5' }
]

最佳答案

使用Array.sort。您可以向其传递一个自定义函数以用于比较对象。要比较字符串,可以使用String.localeCompare。放在一起,你会得到:

var data=[
    { name: 'jane',  id: 3 }
    { name: 'zac',   id: 5 }
    { name: 'amber', id: 2 }
];
console.log("Unsorted:", data);
data.sort(function(a, b) {
    return a.name.localeCompare(b.name);
});
console.log("Sorted:", data);

09-25 17:02
查看更多