如何使用 localeCompare 在 JavaScript 中对字符串进行排序
当尝试使用传统方法根据字符串属性对对象列表进行排序时list.sort(function (a, b) { return a.attr - b.attr }),你可能会遇到意想不到的结果。这是因为减法运算符 (-) 本身并不对 JavaScript 中的字符串进行排序。
要在此场景中有效地对字符串进行排序,请使用 String.prototype.localeCompare 方法。此方法比较两个字符串,如果第一个字符串排在第二个字符串之前,则返回负数;如果第二个字符串排在第一个字符串之前,则返回正数;如果两个字符串相等,则返回零。
这里如何使用 localeCompare 调整代码:
list.sort(function (a, b) { return ('' + a.attr).localeCompare(b.attr); });
通过显式将 a.attr 转换为字符串,我们可以避免潜在的异常。 localeCompare 从 Internet Explorer 6 和 Firefox 1 开始提供支持。
以上是如何使用'localeCompare”在 JavaScript 中正确排序字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!