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() 方法的使用的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript字符串排序localeCompare()笔记
JavaScript字符串排序localeCompare()笔记