js使用拼音排序数组

分类:知识百科 日期: 点击:0

JavaScript数组排序可以使用内置的sort()函数,但是如果要按拼音排序,就需要自定义排序函数。拼音排序可以分为两种情况:一种是按拼音首字母排序,另一种是按拼音全拼排序。

按拼音首字母排序

按拼音首字母排序,可以使用以下方法:

function sortByPinyin(arr) {
    arr.sort(function (a, b) {
        var pinyinA = makePy(a)[0].toUpperCase();
        var pinyinB = makePy(b)[0].toUpperCase();
        if (pinyinA < pinyinB) {
            return -1;
        } else if (pinyinA > pinyinB) {
            return 1;
        } else {
            return 0;
        }
    });
}

其中makePy函数是一个将汉字转换为拼音的函数,可以使用第三方库实现,比如pinyin.js。

按拼音全拼排序

按拼音全拼排序,可以使用以下方法:

function sortByFullPinyin(arr) {
    arr.sort(function (a, b) {
        var pinyinA = makePy(a).join('').toUpperCase();
        var pinyinB = makePy(b).join('').toUpperCase();
        if (pinyinA < pinyinB) {
            return -1;
        } else if (pinyinA > pinyinB) {
            return 1;
        } else {
            return 0;
        }
    });
}

其中makePy函数是一个将汉字转换为拼音的函数,可以使用第三方库实现,比如pinyin.js。

以上就是的方法,可以根据实际需要,选择按拼音首字母排序或者按拼音全拼排序。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。