码迷,mamicode.com
首页 > 编程语言 > 详细

javacript按照汉语拼音排序

时间:2018-02-03 00:48:00      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:特定   using   语言   com   class   main   方法   options   字符串数组   

以前做了一个需求,要求按照人名的拼音进行排序,然后通过oracle的NLS_SORT参数在后台进行了排序,然后将结果返回给前端。现在想看看如果前端对字符串按照汉语拼音进行排序该怎么做呢?遂查找资料,将方法记录如下。

[‘张三‘,‘李四‘,‘王五‘].sort((a, b) => a.localeCompare(b, ‘zh-Hans-CN‘, {sensitivity: ‘accent‘}))

localeCompare函数的语法如下:

referenceStr.localeCompare(compareString[, locales[, options]])

参数
compareString用来比较的字符串
locales可选。 用来表示一种或多种语言或区域的一个符合 BCP 47 标准的字符串或一个字符串数组。

zh-Hans-CN (Chinese written using the Simplified script as used in mainland China)

返回一个数字表示是否 引用字符串 在排序中位于 比较字符串 的前面,后面,或者二者相同。

  • 当 引用字符串 在 比较字符串 前面时返回 -1
  • 当 引用字符串 在 比较字符串 后面时返回 1
  • 相同时返回 0

切勿依赖于 -1 或 1 这样特定的返回值。不同浏览器之间(以及不同浏览器版本之间)返回的正负数的值各有不同,因为W3C规范中只要求返回值是正值和负值,而没有规定具体的值。一些浏览器可能返回-2或2或其他一些负的、正的值。

参考

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
https://segmentfault.com/q/1010000002546028

javacript按照汉语拼音排序

标签:特定   using   语言   com   class   main   方法   options   字符串数组   

原文地址:https://www.cnblogs.com/ZiYangZhou/p/8407422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!