我有一个对象数组:
var countries = [
{'id': 35, 'name': 'Перу'},
{'id': 45, 'name': 'Індія'},
{'id': 55, 'name': 'Єгипет'},
{'id': 65, 'name': 'Албанія'},
]
我需要按照
名称
进行排序。这是我的算法:function mySort(s1, s2) {
return s1.name.toString().localeCompare(s2.name.toString());
}
var sorted = countries.sort(mySort);
// result (incorrect)
sorted = [
{'id': 55, 'name': 'Єгипет'},
{'id': 45, 'name': 'Індія'},
{'id': 65, 'name': 'Албанія'},
{'id': 35, 'name': 'Перу'},
]
// must be
sorted = [
{'id': 65, 'name': 'Албанія'},
{'id': 55, 'name': 'Єгипет'},
{'id': 45, 'name': 'Індія'},
{'id': 35, 'name': 'Перу'},
]
我做错了什么?
这里是在jsfiddle上的示例和我的jsfiddle结果截图。
谢谢!
编辑:
我发现只有Google Chrome排序不正确:FireFox和Opera正确。