中文名按首字母分类并按拼音排序

话不多说,直接上源码

function fixTheSearchTeachers(names) {
    var data = names;
    data.sort((a, b) => a.localeCompare(b, 'zh-Hans-CN', { sensitivity: 'accent' }));
    var compareStr = ["吧", "擦", "搭", "妸", "发", "旮", "哈", "击", "咖", "垃", "妈", "那", "噢", "葩", "妻", "燃", "仨", "它", "挖", "夕", "匝"];
    var UpperCode = ["A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "W", "X", "Z"];
    var temp = [], newData = [];
    for (var j = 0, i = 0; i < data.length;) {
        if (data[i].localeCompare(compareStr[j], 'zh-Hans-CN', { sensitivity: 'base' }) <= 0) {
            temp.push(data[i]);
            i++;
        } else if (temp.length > 0) {
            temp.unshift(UpperCode[j]);
            newData.push(temp);
            temp = [];
            j++;
        } else {
            j++;
        }
    }
    return newData; 
}

效果演示


元数据.png

中文名按首字母分类并按拼音排序_第1张图片
处理后.png

你可能感兴趣的:(中文名按首字母分类并按拼音排序)