JavaScript中sort()函数中function(a,b)返回值为a-b的原理

sort()函数中回调函数可实现升序排列,如下所示:

sort(function(a,b){
	return a - b;
})

等价于

sort(function(a,b){
	if(a < b) {
		return -1;
	}
	if(a > b) {
		return 1;
	}
	if(a == b) {
		return 0;
	}
})
原理:
1. 如果return返回-1,表示a小于b,数组排序中a会排在b之前
2. 如果return返回1,表示a大于b,数组排序中a会排在b之后
3. 如果return返回0,表示a与b相等,其位置保持不变
底层实现机制:
详见源码:
https://github.com/v8/v8/blob/ad82a40509c5b5b4680d4299c8f08d6c6d31af3c/src/js/array.js
第710
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值