对数组的排序
1 | let arr = [1,6,9,3,4,12]; |
因为 sort 方法在对数组做排序时,把元素默认成字符串进行相互比较,因此需要添加一个辅助函数,然后 sort 就能根据返回值的情况对数组进行排序
1 | let arr = [1,6,9,3,4,12]; |
上面的方法可以简化为
1 | let arr = [1,6,9,3,4,12]; |
对字符串的排序
1 | let names = ['Ana','ana','john','John']; |
为什么会出现上面的结果呢?这是因为 JavaScript 在做字符比较的时候,是根据字符对应的 ASCII 值来比较的,例如 A、J、a、j 对应的 ASCII 值分别是 65、74、97、106,虽然 a 在字母表中是最靠前的,但 J 的 ASCII 值比 a 的小,所以排在了 a 前面。
加入 toLowerCase()
使其按照字母顺序排序
1 | let names = ['Ana','ana','john','John']; |
使用 localeCompare()
可以使小写子母排在前面
1 | let names = ['Ana','ana','john','John']; |
自定义排序
1 | const friends = [ |
简化一下
1 | const friends = [ |