网站地图    收藏   

主页 > 采坑 > 前端采坑 > javascript常见API采坑 >

js中Array.sort对数字排序在Chrome、Firefox踩坑

来源:未知    时间:2022-12-08 10:28 作者:小飞侠 阅读:

[导读] js中Array.sort对数字排序在Chrome、Firefox踩坑 正常我们要对一个数组反转,可能第一时间想到是用 Array.sort 根据文档得知 小于0 b换a前面, 0不换,大于0 a在b前面 ,要想倒序 b - a 必然 0....

js中Array.sort对数字排序在Chrome、Firefox踩坑

正常我们要对一个数组反转,可能第一时间想到是用 Array.sort 根据文档得知 小于0 b换a前面, 0不换,大于0 a在b前面 ,要想倒序 b - a 必然 < 0.

由此得出下面方法:

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


但是:

发现火狐上运行不尽人意,可以看下面调试结果。


//创建数组

var a = [10,2,100,5,3,25];
    //输出原始数组
    console.log("original: "+a.toString());
    //使用回调函数测试
    a.sort(function(a,b){
        console.log("a: "+a+", b: "+b);
});

附上在两个浏览器上的运行情况:


Chrome运行情况

image.png


Firefox运行情况

image.png


结论: 可见谷歌内核下 a,b 是反序, 火狐下 a,b 是正序, 因此我们要盘点浏览器差异才能用 array.sort排序, 或者使用 array.reverse 数组反转方法进行倒序排序。




自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论