鉴于以下内容:
var array = [{"name":"zoe", "hotdogs":5},{"name":"april", "hotdogs":5},{"name":"ryan", "hot dogs":8}]
如何使用JavaScript按名称对数组元素进行排序?
var array = [{"name":"april", "hotdogs":5},{"name":"ryan", "hotdogs":8},{"name":"zoe", "hotdogs":5}]
有没有办法应用某些功能来排序对象?是否有帮助提高性能的辅助库?
我尝试了以下内容:
array.sort(function(a, b) {
return a.name > b.name
});
但是当我尝试将其打印出来时,它似乎对生成的数组没有任何影响。
答案 0 :(得分:1)
使用.localeCompare()
。
array.sort(function(a, b) {
return a.name.localeCompare(b.name)
});
答案 1 :(得分:0)
该函数应返回整数,如C strcmp,所以:
if a.name > b.name {
return 1;
} else if ( a.name == b.name) {
return 0;
}
return -1