记录一下Js根据拼音首字母分组的方法
引自https://segmentfault.com/a/1190000017321316
如有侵权请联系。

const pySegSort=(arr) =>{if (!String.prototype.localeCompare) return null// let letters = 'abcdefghjklmnopqrstwxyz'.split('')let letters = 'ABCDEFGHJKLMNOPQRSTWXYZ'.split('')let zh = '阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀'.split('')let segs = []letters.forEach((item, i) => {let cur = { letter: item, data: [] }arr.forEach((item) => {if(item.localeCompare(zh[i])>=0&&item.localeCompare(zh[i+1])<0){cur.data.push(item)}         })if (cur.data.length) {   cur.data.sort(function(a, b) {return a.localeCompare(b, 'zh')})segs.push(cur)}})return segs
}console.log(pySegSort(['白案','百搭','白菜','百旺','王','李','张','刘','陈','杨','黄','吴','赵','周','的','徐','孙','马','朱','胡','林','郭','何','高','罗','','郑','梁','谢','宋','唐','许','邓','冯','韩','曹','曾','彭','白大','萧','蔡','F','潘','田','董','袁','于','余','','叶','蒋','杜','苏','魏','程','吕','丁','沈','任','白','卞']))

结果

[{letter: 'B',data: ['白',   '白案','白菜', '白大','百搭', '百旺','卞']},{ letter: 'C', data: [ '蔡', '曹', '曾', '沈', '陈', '程' ] },{ letter: 'D', data: [ '的', '邓', '丁', '董', '杜' ] },      { letter: 'F', data: [ '冯' ] },{ letter: 'G', data: [ '高', '郭' ] },{ letter: 'H', data: [ '韩', '何', '胡', '黄' ] },{ letter: 'J', data: [ '蒋' ] },{ letter: 'L', data: [ '李', '梁', '林' ] },{ letter: 'M', data: [ '刘', '吕', '罗', '马' ] },{ letter: 'P', data: [ '潘', '彭' ] },{ letter: 'R', data: [ '任' ] },{ letter: 'S', data: [ '宋', '苏', '孙' ] },{ letter: 'T', data: [ '唐', '田' ] },{ letter: 'W', data: [ '王', '魏', '吴' ] },{ letter: 'X', data: [ '萧', '谢', '徐', '许' ] },{ letter: 'Y', data: [ '杨', '叶', '于', '余', '袁' ] },{ letter: 'Z', data: [ '张', '赵', '郑', '周', '朱', 'F' ] }
]

Js根据拼音首字母分组相关推荐

  1. js 按拼音 首字母 排序 并分组

    js 按拼音 首字母 排序 并分组,二话不说 直接上代码: var list = [     {         'name' : '张三',         'py' : 'zhnagsan'   ...

  2. Js实现中文排序,并根据拼音首字母分组

    Js实现中文排序,并根据拼音首字母分组 const pySegSort=(arr) =>{if (!String.prototype.localeCompare) return nulllet ...

  3. PHP利用ICU扩展intl快速实现汉字转拼音以及按拼音首字母分组排序

    ICU(International Components for Unicode)里提供了transliterator(直译器), 可以很方便把其他语言(比如简体中文)转为拉丁文表示: http:// ...

  4. php实现通讯录按字母分组,iOS - 通讯录开发,名字按拼音首字母分组排序

    应项目需要,需添加一个自定义的通讯录,所以需要对联系人按名字的首字母进行排序.以下方法已经封装好,复制到项目中直接可以使用. 该方法是使用UILocalizedIndexedCollation来进行本 ...

  5. 通讯录c语言编程按字母分组,iOS - 通讯录开发,名字按拼音首字母分组排序

    应项目需要,需添加一个自定义的通讯录,所以需要对联系人按名字的首字母进行排序.以下方法已经封装好,复制到项目中直接可以使用. 该方法是使用UILocalizedIndexedCollation来进行本 ...

  6. Mysql根据拼音首字母分组和排序

    最近业务上有个需求,需要根据英文字母展示对应的人名,和我们手机的通讯录差不多 如下图所示: 通常如果表设计的时候增加了对应的首字母字段应该很好实现,那如果没加,应该怎么实现呢! 1.图示Sql SEL ...

  7. 城市名称按首字母分组排序,并实现多音字处理

    一.需求 将城市列表(中文)按照首字母分组排序,以26个字母的顺序进行分组. 传统的解决方式使用如下pinyin4j来解决: <dependency><groupId>com. ...

  8. php 数组 按拼音首字母 排序 并分组

    php 数组 按拼音首字母 排序 并分组 2018年09月30日 11:18:59 王汪汪wsq 阅读数 995 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csd ...

  9. 按拼音首字母排序并分组

    把返回的数据,按照拼音首字母排序,并分组,在此记录一下,我也是通过百度,然后修改成自己要的数据类型. 方法一:所有手机都可用,小程序中也可用,app中亦可用 首先建立一个js文件,代码如下 let P ...

最新文章

  1. sqlserver创建对于job失败_创建维护计划失败创建 对于 JobStep“子计划”失败
  2. python北京理工大学推荐的书-Python教程书籍(北理工第2版)思考练习-第三章
  3. 《Elixir in Action》书评及作者问答录
  4. java_day19_MVC和配置文件
  5. 时间同步失败_关于同步、异常处理的思考
  6. 中国风春节传统文化海报插画为载体的素材
  7. AdneneBoumessouer / MVTec-Anomaly-Detection学习笔记
  8. 关于performSelector调用和直接调用区别
  9. Google 中国开发者大会最后一天报名!
  10. LINUX下载编译fontconfig
  11. Spring入门第六课
  12. 文件系统:NTFS、FAT32和exFAT
  13. 中国一共有多少个神仙?
  14. 破解tumblr背景音乐
  15. NPM install报错certificate has expired
  16. shell常用语法之if [ $? -ne 0 ]
  17. asterisk安装步骤
  18. matlab_医学CT重建 ART,SART算法
  19. linux查看主板最大内存容量,Linux 查看内存插槽数、最大容量的方法
  20. 云栖科技评论第63期:有了AI,世界杯更“好看”

热门文章

  1. HBuilder控制台打开方式
  2. 树莓派成功使用 TPLINK WDN5200H网卡( 芯片 rtl8821cu )
  3. Day3-T31项目 异常处理与日志——2021-11-02
  4. 计算机专业除了当码农,还有什么好的就业方向?
  5. MD文本编辑工具推荐-matktext
  6. std::vector介绍
  7. SpringMVC入门上机实验,基于SpringMVC数据绑定的学生成绩信息管理
  8. 一般试卷的纸张大小是多少_试卷,考试试卷是多大的纸
  9. 购买Blender cloud支援今年官方开源电影Gooseberry
  10. 捷径:通过快捷指令下载应用图标、音乐封面和电影海报