每日JavaScript-28 对sort()简单使用

sort()是JavaScript的内置排序实现,据说对于长度少于10的数组采用插入排序,超过10采用快排。等到我技术水平更高点,就去看V8源码吧(笑)
平常对手数字,是这样使用sort()

let r1 = [1, 2, 3, 0, -1].sort((a,b) => b - a)
let r2 = [1, 2, 3, 0, -1].sort((a,b) => a - b)
// 降序
console.log(r1)
// 升序
console.log(r2)

但直接使用sort()会出现什么事情呢?
这时,会把数字类型转化为字符串类型,而0X会转为X。而且降序,因为这是排序的规则变为UTF-16

let arr = [33, 6, 19, 99, 09, 23, 21, 198]

// 默认为降序
// [ 19, 198, 21, 23, 33, 6, 9, 99 ]
console.log(arr.sort())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值