js拼音排序并按字母分类

一世执手 提交于 2020-07-27 14:42:25
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;
}

备注:网上好多版本内容是:

 var zh = "阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀".split('');

但我实际运行时,l和m开头的都在一起,后面发现  ‘痳’  是个多音字,有 [má][lìn] 两个读音 ,这里不能用

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!