我有一个我希望根据attr字符串类型字段排序的对象列表。我试过用-list.sort(function (a, b) { return a.attr - b.attr})但发现-在JavaScript 中似乎不适用于字符串。如何根据类型字符串的属性对对象列表进行排序?
3 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
使用String.prototype.localeCompare每个您的示例:
list.sort(function (a, b) {
return ('' + a.attr).localeCompare(b.attr);
})
我们强制a.attr为字符串以避免异常。自Internet Explorer 6和Firefox 1 以来localeCompare一直受支持。您还可能会看到以下使用的代码不符合区域设置:
if (item1.attr < item2.attr)
return -1;
if ( item1.attr > item2.attr)
return 1;
return 0;
添加回答
举报
0/150
提交
取消