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工具库
  • 相关阅读:
    js判断手机或Pc端登陆.并跳转到相应的页面
    短信接口的使用
    sql替换
    jQuery 双击事件(dblclick)
    attr 和 prop 的区别
    如何获得select被选中option的value和text
    微信公众号基本配置
    关闭当前界面
    oninput、onchange与onpropertychange事件的区别, 与input输入框实时检测
    thinkphp5 与 endroid 二维码生成
  • 原文地址:https://www.cnblogs.com/xiaoyaoxingchen/p/9238214.html
Copyright © 2011-2022 走看看