美文网首页
js中文汉字按拼音排序

js中文汉字按拼音排序

作者: 阳光之城alt | 来源:发表于2018-09-28 14:40 被阅读0次

代码1,拼音排序:


image.png
var array = ['武汉', '北京', '上海', '天津'];
var resultArray = array.sort(
    function compareFunction(param1, param2) {
        return param1.localeCompare(param2,"zh");
    }
);
console.log(resultArray);
>火狐浏览器 resultArray 结果为:[ '北京' , '上海' , '天津' ,'武汉' ] ;

代码2,拼音排序并按字母分类:

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工具库

分类: javascript

原文网址:
1 https://www.cnblogs.com/wteng/p/5658972.html
Flex 布局教程:语法篇
Flex 布局教程:实例篇

用JavaScript将数字转换为大写金额

相关文章

  • js中文汉字按拼音排序

    代码1,拼音排序:image.png 代码2,拼音排序并按字母分类: JSON.stringify(pySegSo...

  • 查找汉字偏旁部首的EXCEL模板

    老婆的课题研究中,需要将部分汉字按偏旁部首排序。我知道在Excel中,对汉字的排序可以按拼音,可以按笔画,但是没有...

  • UILocalizedIndexedCollation -- 本

    关于通讯录的项目就会有按首字母或者汉字拼音首字母分组排序索引。说说以前用的就是 比如把汉字转成拼音再排序的方法了,...

  • 排序实例

    描述 访问者排序规则:部门、成员依次排序;部门、成员各自按名称首字符排序:特殊字符,数字,字母,汉字(转为拼音)排...

  • 排序中文数组 iOS 转载自桐丘

    感谢桐丘的方法,可以实现排序。冒泡排序方法实现数组排序,数组中元素为中文字符串,方法如下: 汉字转拼音,NSStr...

  • pinyin 依赖包

    pinyin:转换中文字符为拼音。可以用于汉字注音、排序、检索。特性:根据词组智能匹配最正确的拼音。支持多音字。简...

  • 排序中文数组 iOS

    冒泡排序方法实现数组排序,数组中元素为中文字符串,方法如下: 参考:ios汉字转拼音iOS解决NSArray、NS...

  • 【我的Android进阶之旅】Android实现中文汉字笔划(笔

    一、需求描述 最近要做一个类似微信的,在登录界面选择国家地区的功能,微信有中文汉字笔画排序以及中文拼音排序等几种方...

  • Oracle基础学习

    oracle实现汉字按照拼音、笔画和部首排序Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9...

  • MySQL实战技能包

    1. 表字段按照汉字拼音排序 命令: 举例: 对数据库user表的name字段按照汉字拼音排序,user表数据如下...

网友评论

      本文标题:js中文汉字按拼音排序

      本文链接:https://www.haomeiwen.com/subject/aehpoftx.html