我有一个对象列表,我希望根据字段进行排序attr
字符串类型。我尝试使用-
list.sort(function (a, b) {
return a.attr - b.attr
})
但发现-
似乎不适用于 JavaScript 中的字符串。如何根据字符串类型的属性对对象列表进行排序?
Use String.prototype.localeCompare按照你的例子:
list.sort(function (a, b) {
return ('' + a.attr).localeCompare(b.attr);
})
我们强制 a.attr 为字符串以避免异常。localeCompare
已支持从 Internet Explorer 6 开始和 Firefox 1。您还可能会看到使用的以下代码不考虑区域设置:
if (item1.attr < item2.attr)
return -1;
if ( item1.attr > item2.attr)
return 1;
return 0;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)