数组对象按照名字首字母进行排序


需要使用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