如何按某些属性对包含对象的数组进行排序,例如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': ''}
];
答案 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);
});