數組對象按照名字首字母進行排序


需要使用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````````````````');


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM