汉字对应的拼音省略字典(网上找或者联系作者)constPinYin={a:'\u554a\u963f\u9515',ai:}在字典中查找functionarraySearch(zh){for(letnameinPinYin){if(PinYin[name].indexOf(zh)!=-1){returnname}}return''}汉字转拼音函数ConvertPinyin(str){constreg=newRegExp(/[\u4e00-\u9fa5]/)//匹配汉字letary=str.split('')letpinyin=ary.reduce((pre,item)=>{if(reg.test(item)){letname=arraySearch(item)pre+=name}else{pre+=item}returnpre},'')letletter=pinyin.slice(0,1)return{pinyin,letter}}SortconstpySegSort=(arr,keyword)=>{if(!String.prototype.localeCompare)returnnullletobj={}arr.forEach(item=>{if(keyword){const{拼音,字母}=ConvertPinyin(item[keyword])obj[letter]?obj[letter]。脓h({...item,pinyin,letter}):(obj[letter]=[{...item,pinyin,letter}])}else{const{pinyin,letter}=ConvertPinyin(item)对象[字母]?obj[letter].push({zh:item,pinyin,letter}):(obj[letter]=[{zh:item,pinyin,letter}])}})让数据=Object.keys(obj).sort((a,b)=>a.localeCompare(b)).map(item=>{letdata=obj[item]data.sort((a,b)=>a.pinyin.localeCompare(b.pinyin))return{title:item,data}})returndata}Testleta=["保定","西安","澳门","台湾","江苏","承德","抚顺","海南",'西藏','天津',"宝鸡","上海","北京"]pySegSort(a)[{title:'a',data:[{zh:'澳门',pinyin:'aomen',letter:'a'}]},{title:'b',data:[{zh:'Baoding',pinyin:'baoding',letter:'b'},{zh:'Baoji',pinyin:'baoji',letter:'b'},{zh:'北京',pinyin:'北京',letter:'b'},],},{title:'c',data:[{zh:'Chengde',pinyin:'chengde',letter:'c'}]},{title:'f',data:[{zh:'Fushun',pinyin:'fushun',letter:'f'}]},{title:'h',data:[{zh:'Hainan',pinyin:'hainan',letter:'h'}]},{title:'j',data:[{zh:'Jiangsu',pinyin:'jiangsu',letter:'j'}]},{title:'s',data:[{zh:'Shanghai',pinyin:'shanghai',letter:'s'}]},{title:'t',data:[{zh:'Taiwan',pinyin:'taiwan',letter:'t'},{zh:'Tianjin',pinyin:'tianjin',letter:'t'},],},{title:'x',data:[{zh:'Xi'an',pinyin:'xian',letter:'x'},{zh:'Tibet',pinyin:'xicang',letter:'x'},],},]
