按字母顺序排序之localeCompare

2019-04-15  本文已影响0人  钱英俊真英俊

一个简单的按字母排序的功能

let arr = []
 arr.sort((a, b) => {
      return a.label.localeCompare(b.label)
  })

原理:
解析:
  1. sort()本身也是可以实现排序功能的,但是 sort是按照ASCII编码排序的,即数字的ASCII码<大写字母的ASCII码<小写字母的ASCII码,所以如果有大小写或数字的话,sort不一定能满足要求
let names = ['1', 'a', 'A', 'B', 'b', '2', 'C', 'c']
console.log(names.sort((a, b) => {
  return a - b
}), '---sort---')
console.log(names.sort((a, b) => {
  return a.localeCompare(b)
}),'---localeCompare---')

结果:


上一篇 下一篇

猜你喜欢

热点阅读