美文网首页
日常问题复盘之sort()方法排序引发的bug

日常问题复盘之sort()方法排序引发的bug

作者: 以我清欢 | 来源:发表于2021-08-19 09:31 被阅读0次

    某年某日,产品捧着两个手机到我面前,啪的摆成一排。

    ‘你看看,为啥我的手机跟小白的手机商品显示顺序不一样呢?’

    我立即掏出了我的手机,看了下我的是没问题的。开发就这点毛病,自己的没问题别人的有问题那就是机型适配问题,和代码无关,坚决不承认自己的锅。

    但是我当时想的是,会不会后端的接口返回值没有排序导致的乱序呢。

    后端坚决地说绝对是一致的,但我不信啊,还是抓包看了一下,嗯...果然是相同的。

    那既然接口数据相同,代码处理也相同,但是只有个别机型有问题的话,只能是某个方法对于部分浏览器不兼容???

    然后找代码中出问题的部分开始一一排查。最终锁定问题出现在sort()方法。

    写法类似:

    list.sort((a, b)  => return a.v - b.v  })

    在a.v - b.v结果为0的时候导致两方出现了差异。

    那么是因为什么呢,后来搜索了一番,发现了一个答案

    原文链接:https://www.cnblogs.com/yzeng/p/3949182.html

    解决办法也是规避了0的返回值,之后测试就没有问题了,不过仍然需要排查其他场景。

    完毕---------

    相关文章

      网友评论

          本文标题:日常问题复盘之sort()方法排序引发的bug

          本文链接:https://www.haomeiwen.com/subject/qiggbltx.html