JS排序:localeCompare() 方法的使用

Posted 古兰精

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS排序:localeCompare() 方法的使用相关的知识,希望对你有一定的参考价值。

  定义:用本地特定的顺序来比较两个字符串。

  语法:stringObject.localeCompare(target)

  参数:target——要以本地特定的顺序与 stringObject 进行比较的字符串。

  返回值:说明比较结果的数字。

  (1)如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。

  (2)如果 stringObject 大于 target,则该方法返回大于 0 的数。

  (3)如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。

  说明:把 < 和 > 运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。以这种方法生成的顺序不一定是正确的。localeCompare() 方法提供的比较字符串的方法,考虑了默认的本地排序规则。ECMAscript 标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。

  实例:可以使用localeCompare() 方法来实现中文按照拼音排序,方法相当简单

var array = [白鸽, 麻雀, 大象, , , ""];
array = array.sort(
    function compareFunction(item1, item2) {
        return item1.localeCompare(item2);
    }
);

  结果显示为:

["白鸽", "大象", "", "", "麻雀", ""]

  而且可以通过如下代码实现中文按照拼音排序,并且可以将中文按照a,b,c,d……进行区分。代码如下:

 

以上是关于JS排序:localeCompare() 方法的使用的主要内容,如果未能解决你的问题,请参考以下文章

localeCompare() 方法实现中文的拼音排序

JavaScript字符串排序localeCompare()笔记

JavaScript字符串排序localeCompare()笔记

localeCompare按首字母排序汉字

DataTables localeCompare 排序,不能让它工作

javascript 中英文数组排序 sort结合localeCompare