一个简单的按字母排序的功能
- 两个API
array.sort
和array.localeCompare
- 实现:
let arr = []
arr.sort((a, b) => {
return a.label.localeCompare(b.label)
})
原理:
-
1.
Array.sort([compareFunction])
MND
-
referenceStr.localeCompare(compareString[, locales[, options]])
MND
-
解析:
-
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---')
结果:

网友评论