JS排序之localeCompare( )方法的使用说明及相关案例

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

  语法:stringObject.localeCompare(target)

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

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

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

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

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

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

实例:

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

var array = ['白鸽', '麻雀', '大象', '狗', '猫', "鸡"];
array = array.sort(function compareFunction(item1, item2) {
    return item1.localeCompare(item2);
});
//["白鸽", "大象", "狗", "鸡", "麻雀", "猫"]
arr.sort((a, b) => b.date.localeCompare(a.date));
原文地址:https://www.cnblogs.com/Ky-Thompson23/p/13390964.html