如何在javascript中对这个对象数组进行排序?

问题描述:

可能重复:
Sort array of objects如何在javascript中对这个对象数组进行排序?

[ { 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); 

[{ name: 'jane', id:'3' }, 
{ name: 'zac', id: '5'}, 
{ name: 'amber', id: '2'}].sort(
    function (a,b) { 
     return a.name.localeCompare(b.name) 
    } 
); 
+1

我刚刚知道自己'localeCompare'。整齐。 – icktoofay