配列オブジェクトは名前の頭文字で並べ替えられます

2344 ワード

pinyin.jsを使用して各名前の頭文字を取得する必要があります
var needData=[]
this.gradeTableData.forEach((item,index)=>{
if (this.classValue===item.class||item.class===''){
needData.push(
Object.assign({},item, {'py':pinyin(item.name,{style:pinyin.STYLE_NORMAL})[0][0][0].toUpperCase()})
)
}
})
//     
needData.sort((a,b)=>{
return a.py.charCodeAt(0) - b.py.charCodeAt(0);
})
//          
var myLetters =[]
needData.forEach((item,index)=>{
myLetters[item.py]=[]
})
//
needData.forEach((item,index)=>{
myLetters[item.py].push(item)
})
console.log('myLetters`````````````');
console.log(myLetters);
//
// myLetters
var endData=[]
for(var key in myLetters){
endData.push({
index:key,
users:myLetters[key]
})
}
console.log('endData````````````````');

転載先:https://www.cnblogs.com/manong-xxf/p/11430075.html