关于return a - b的理解;

来源:7-22 数组排序sort()

weibo_灬守望者丶_0

2016-11-01 14:44

关于return a - b;

为什么比较大小不是以0为分界,而是以(-1,1)的区间为分界,加入输入的不是整数,而是浮点数,函数的这种比较方法还有效吗?

写回答 关注

3回答

  • stone310
    2016-11-02 00:26:47
    已采纳

    其实就是以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才相等
        }
    });


    weibo_...

    非常感谢!

    2016-11-02 09:05:25

    共 1 条回复 >

  • 慕粉3138817
    2016-11-01 16:20:18

    可以试试看把数据改成差在1以内试试看还能不能排序。。

  • 林银
    2016-11-01 15:42:12

    有效啊。

    weibo_...

    为什么呀。。

    2016-11-01 15:59:50

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468781 学习 · 22507 问题

查看课程

相似问题