zoukankan      html  css  js  c++  java
  • js文字排序的方法

    拼音排序:

    var arr = [{ a: 1, b: "" }, { a: 1, b: "" }, { a: 1, b: "" }, { a: 1, b: "" }, { a: 1, b: "" }, { a: 1, b: "" }, { a: 1, b: "" }];
    
    arr.sort(
        function compareFunction(param1, param2) {
            return param1.b.localeCompare(param2.b,"zh");
        }
    );
    
    // 结果为:[{a: 1, b: "不"},{a: 1, b: "服"},{a: 1, b: "哥"},{a: 1, b: "你"},{a: 1, b: "是"},{a: 1, b: "帅"},{a: 1, b: "我"}]

    拼音排序并按字母分类:

    function pySegSort(arr,empty) {
        if(!String.prototype.localeCompare)
            return null;
         
        var letters = "*abcdefghjklmnopqrstwxyz".split('');
        var zh = "阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀".split('');
         
        var segs = [];
        var curr;
        $.each(letters, function(i){
            curr = {letter: this, data:[]};
            $.each(arr, function() {
                if((!zh[i-1] || zh[i-1].localeCompare(this,"zh") <= 0) && this.localeCompare(zh[i],"zh") == -1) {
                    curr.data.push(this);
                }
            });
            if(empty || curr.data.length) {
                segs.push(curr);
                curr.data.sort(function(a,b){
                    return a.localeCompare(b,"zh");
                });
            }
        });
        return segs;
    }
    
    JSON.stringify(pySegSort(["","","","","","","","","",""]));
    
    // 结果:
    "[
      {"letter":"a","data":["","",""]},
      {"letter":"b","data":[""]},
      {"letter":"d","data":[""]},
      {"letter":"w","data":[""]},
      {"letter":"x","data":["",""]},
      {"letter":"y","data":["",""]}
    ]"

    参考文档:

        http://blog.csdn.net/testcs_dn/article/details/25116655               ---------JS获取中文拼音首字母,并通过拼音首

        

      字母快速查找页面内的中文内容
                 http://www.jb51.net/article/100864.htm                           ----------JS实现超简单的汉字转拼音功能示例
                 https://github.com/sxei/pinyinjs                                      -----------一个实现汉字与拼音互转的小巧web工具库
  • 相关阅读:
    Linux系统的关机、重启、睡眠
    Java 读写Properties配置文件
    Java识别操作系统
    Java DES 加解密("DES/CBC/PKCS5Padding")
    Java获取本机IP
    编写SHELL脚本--编写简单脚本
    配置yum软件仓库(redhat 7.0)
    简单的redis测试
    Seaslog安装和参数配置
    mac使用phpize进行安装的时候碰到的问题
  • 原文地址:https://www.cnblogs.com/xiaoyaoxingchen/p/9238214.html
Copyright © 2011-2022 走看看