给字符串排序 localeCompare 认识一下

简介: localeCompare 用法

localeCompare 用法


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


语法:stringObject.localeCompare(target)


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


返回值

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

如果 stringObject 大于 target,localeCompare() 返回大于 0 的数。

如果两个字符串相等,localeCompare() 返回 0。

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


在日常业务中经常要把一个数组,按值类型为字符串来排序,相同的放一起显示

let a = ['FATP', 'MD', 'FATP', 'STANDARD', 'STANDARD', '3', 'sda', null]
let b = a.sort((val1, val2) => { return String(val1).localeCompare(String(val2)) })
console.log(b)
// [ '3', 'FATP', 'FATP', 'MD', null, 'sda', 'STANDARD', 'STANDARD' ]


当数组元素是一个对象的时候

let c = [
  { name: '太空编程', link: 'http://spacexcode.com' },
  { name: '前端开发笔记', link: 'http://i-fanr.com' },
  { name: '太空编程', link: 'http://doc.i-fanr.com' },
  { name: '前端开发笔记', link: 'http://wiki.i-fanr.com' }
]
let d = c.sort((val1, val2) => { return String(val1.name).localeCompare(String(val2.name)) })
console.log(d)
//////////////
[
  { name: '前端开发笔记', link: 'http://i-fanr.com' },
  { name: '前端开发笔记', link: 'http://wiki.i-fanr.com' },
  { name: '太空编程', link: 'http://spacexcode.com' },
  { name: '太空编程', link: 'http://doc.i-fanr.com' }
]


目录
相关文章
|
7月前
|
Java C语言
用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
76 0
|
6月前
|
C语言
C语言学习记录——鹏哥字符分类函数、字符转换函数
C语言学习记录——鹏哥字符分类函数、字符转换函数
855 2
|
7月前
|
C语言
【汇编语言实战】使用插入排序对给定的数组排序(用栈传递参数)
【汇编语言实战】使用插入排序对给定的数组排序(用栈传递参数)
54 1
|
6月前
|
安全 编译器 C语言
【再识C进阶3(下)】详细地认识字符分类函数,字符转换函数和内存函数
【再识C进阶3(下)】详细地认识字符分类函数,字符转换函数和内存函数
|
C语言
c语言用冒泡排序模拟实现qsort排序
c语言用冒泡排序模拟实现qsort排序
81 0
|
7月前
|
Java
java字符串练习题8、同构字符串
java字符串练习题8、同构字符串
62 0
java字符串练习题8、同构字符串
|
Java 程序员 API
Java语言特点 && 8种基本数据类型 && 标识符等练习题 && 插入/希尔/选择/堆/冒泡/快速/归并/计数排序
Java语言特点 && 8种基本数据类型 && 标识符等练习题 && 插入/希尔/选择/堆/冒泡/快速/归并/计数排序
50 0
|
算法 编译器 C语言
排序之玩转qsort函数——【C语言】
说起排序,我们会想起许多算法,在之前的博客中我也写到过,比如:冒泡排序法、快速排序法、选择排序法等等。其实在C语言中一直有一个可以将数组中的内容进行排序的函数且功能完善内容齐全的库函数——qsort函数。今天就让我们来探索一下吧!
57 0
|
C语言
C语言练习之用函数完成数组元素的逆置
C语言练习之用函数完成数组元素的逆置
194 0
【C语言】数组排序方法总结
相邻元素两两比较,按照要求交换位置,n个元素一共要比较n-1趟,每趟要两两比较未排序元素个数-1次。