話不多說源梭,直接上源碼
function fixTheSearchTeachers(names) {
var data = names;
data.sort((a, b) => a.localeCompare(b, 'zh-Hans-CN', { sensitivity: 'accent' }));
var compareStr = ["吧", "擦", "搭", "妸", "發(fā)", "旮", "哈", "擊", "咖", "垃", "媽", "那", "噢", "葩", "妻", "燃", "仨", "它", "挖", "夕", "匝"];
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;
}
效果演示