如何对对象数组进行排序

时间:2014-10-24 08:11:02

标签: javascript jquery json

如何按某些属性对包含对象的数组进行排序,例如name

例如:

 var cart = [
     {'name': 'nokie', 'description': ''},
     {'name': 'htc', 'description': 'this is htc phone' },
     {'name': 'samsung', 'description': ''}
];

应排序为:

 var cart = [  
     {'name': 'htc', 'description': 'this is htc phone' },
     {'name': 'nokie', 'description': ''},
     {'name': 'samsung', 'description': ''}
];

2 个答案:

答案 0 :(得分:2)

您可以使用内置函数排序的javascript

示例:

cart.sort(function(a, b){return a.name > b.name})

这将按名称对其进行排序。它实际上是Array内置的功能。我你只有数字你不必将函数放在内部,但对于对象数组你应该。功能内部您可以制作自己的比较规则。

答案 1 :(得分:2)

您只需要将name属性与localeCompare方法进行比较:

cart.sort(function(a, b) {
    return b.name.localeCompare(a.name);
});