pySort = (arr: any) => {
if (!String.prototype.localeCompare) return null
let letters = 'ABCDEFGHJKLMNOPQRSTWXYZ'.split('')
let zh = '阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀'.split('')
let segs: any = []
letters.forEach((item, i) => {
let temp: any = { letter: item, data: [] }
arr.forEach((item: any) => {
if (
item.localeCompare(zh[i]) >= 0 &&
item.localeCompare(zh[i + 1]) < 0
) {
temp.data.push(item)
}
})
if (temp.data.length) {
temp.data.sort(function(a: any, b: any) {
return a.localeCompare(b, 'zh')
})
segs.push(temp)
}
})
return segs
}
时间复杂度太高了,有大佬能优化一下吗
可以先排序,再切分即可
性能瓶颈就是排序