js 按拼音 首字母 排序 并分组,二话不说 直接上代码:

var list = [
    {
        'name' : '张三',
        'py' : 'zhnagsan'
    },
    {
        'name' : '李四',
        'py' : 'lisi'
    },
    {
        'name' : '王五',
        'py' : 'wangwu'
    },
    {
        'name' : '赵六',
        'py' : 'zhaoliu'
    },
];
 
var resault = data_letter_sort(list, 'py');
 
console.log(resault);
 
/**
 * 数据 按照 拼音首字母 排序 并分组
 * 
 * @param {Json} data ; 需要 排序的 数据
 * @param {String} field ;必须;排序所依据的 字段 名
 * 
 * @return {Json} ; 例如:{A:[{},{}],B:[{},{}],C:[{}],#:[]}
 */
function data_letter_sort (data, field) {
    var letter_reg = /^[A-Z]$/;
    var list = new Array();
    for (var i = 0; i < data.length; i++) {
        // 添加 # 分组,用来 存放 首字母不能 转为 大写英文的 数据
        list['#'] = new Array();
        // 首字母 转 大写英文
        letter = (data[i][field]).substr(0, 1).toUpperCase();
        // 是否 大写 英文 字母
        if (!letter_reg.test(letter)) {
            letter = '#';
        }
        // 创建 字母 分组
        if (!(letter in list)) {
            list[letter] = new Array();
        }
        // 字母 分组 添加 数据
        list[letter].push(data[i]);
    }
    // 转换 格式 进行 排序;
    var resault = new Array();
    for (var key in list) {
        resault.push({
            letter: key,
            list: list[key]
        });
    }
    resault.sort(function (x, y) {
        return x.letter.charCodeAt(0) - y.letter.charCodeAt(0);
    });
    // # 号分组 放最后
    var last_arr = resault[0];
    resault.splice(0, 1);
    resault.push(last_arr);
 
    // 转换 数据 格式
    var json_sort = {}
    for (var i = 0; i < resault.length; i++) {
        json_sort[resault[i].letter] = resault[i].list;
    }
 
    return json_sort;
}
PHP 数组 按拼音 首字母 排序 并分组:点击连接查看

js 按拼音 首字母 排序 并分组相关推荐

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

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

  2. php 数组根据字母排序,php 数组 按拼音首字母 排序 并分组

    PHP 数组 按照拼音 首字母 排序 并排序: 需要排序的数组 格式: $list = [ [ 'name' => '张三', 'py' => 'zhnagsan' ], [ 'name' ...

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

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

  4. js根据汉字拼音首字母排序分组

    最近有一个需求,就是做一个类似通讯录的玩意.这里其实前端的话网上挺多轮子的,直接改改就好了,但是有一点就是在得到汉字之后如何根据拼音的首字母排序并且分组就是一个小问题,当然解决起来也是挺简单的啰.由于 ...

  5. Js根据拼音首字母分组

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

  6. [转载]ExtJS中grid按照中文拼音首字母排序、改变行背景、列背景、静态数据分页不再困难...

    代码 1 本示例主要使用到了静态数据分页 Ext.data.PagingMemoryProxy组件.Ext.PagingToolbar分页条.viewConfig的getRowClass 方法.列co ...

  7. js 根据汉字首字母排序(省份排序) 或 根据英文首字母排序——za排序 az排序

    js 根据汉字首字母排序(省份排序) 或 根据英文首字母排序--z~a排序 & a~z排序 示例1 let arr = ["贵州省", "江苏省", & ...

  8. 中文按拼音首字母排序的C++实现方案

    先介绍下背景,最近有个需求,需要将用户的好友列表按照昵称的拼音首字母排序,类似于手机电话簿的联系人.一开始建议让终端同学去做这点,毕竟终端现有的电话簿模块已经实现了,不过终端同学说电话簿是系统组件,移 ...

  9. Java 按照拼音首字母排序

    默认的 Collection.sort() 是按照 ASCII 码排序, 不过, 有第二个重载方法, 第二个参数可以传入 Comparator 对象 java.text.Collator 可以用于本地 ...

最新文章

  1. 我也没想到 springboot + rabbitmq 做智能家居,会这么简单
  2. 老王学linux-centos6.7drbd8.4.3
  3. 设计大神发布 Windows 20 概念视频,这才是用户所需要的操作系统?
  4. CCNA-(9)-思科交换机特点
  5. css中flex布局
  6. Apache源代码全景分析第二卷——HTTP请求处理
  7. linux ssh互免密配置
  8. 使用 husky 和 lint-staged 检查 Node.js 的代码一致性
  9. 微信小程序自定义组件方案
  10. 百万级并发 Node.js也能行
  11. KEIL5 编译器导致的程序异常
  12. 依赖项出现感叹号怎么办_SpringBoot中如何对依赖进行管理?
  13. 那些有趣的电子漫画合集
  14. Shell脚本——数字计算
  15. WPF ComboBox下拉绑定Treeview 功能的实现
  16. python连接传感器_树莓派4B之光敏传感器模块(python3)
  17. iic协议 c语言,IIC协议-C语言
  18. echarts实现动态的图表
  19. 信用卡+购物商城+ATM管理练习
  20. Spring源码编译问题--xml-apis:xml-apis引入

热门文章

  1. regedit.msc
  2. 面试结束时应该向面试官提出什么问题
  3. pycharm中出现这个文件图标左上角出现这个问号怎么解决
  4. Python中ArcPy实现Excel时序数据读取、反距离加权IDW插值与批量掩膜
  5. 一款基于 Spring Boot 的神仙接私活项目,已开源,2022 接私活必备!
  6. 阿里云CDN全站加速,说说动态加速那些事
  7. 织梦cms是什么-织梦CMS免费搭建工具只需要输入域名
  8. android平台下OpenGL ES 3.0给图片添加黑白滤镜
  9. Ubuntu上MPI编程环境部署
  10. android studio项目实例基于Uniapp+SSM实现的定制旅游APP