weibo_灬守望者丶_0
2016-11-01 14:44
关于return a - b;
为什么比较大小不是以0为分界,而是以(-1,1)的区间为分界,加入输入的不是整数,而是浮点数,函数的这种比较方法还有效吗?
其实就是以0为分界,大于0往后排,小于0往前排,课程上那个不用管它,误导的
var arr = [0.2, 0.5, 0.8, 0.1]; arr.sort(function (a, b) { //从小到大 if (a - b < 0) { return -0.0000001; //这里是负数即可 } else if (a - b > 0) { return 0.00000001; //这里是正数即可 } else { return 0; //必须为0才相等 } });
可以试试看把数据改成差在1以内试试看还能不能排序。。
有效啊。
JavaScript进阶篇
468781 学习 · 22507 问题
相似问题