或许你一直在用javascript中的array的sort.

或许你一直相信它会给你正确的结果。

至少我曾经也是这样认为的,直到有一天,我看到了如下的代码 :
复制代码 代码如下:
[5,10,1].sort();

或许结果有点出人意料。结果如下:
复制代码 代码如下:
[1,10,5]

仔细深究之后,发现原来默认的sort方法并不是按照整形数据来排序,而是用的字符串匹配方式。

换言之就是10 中的这个 1 导致了上面代码的错误。

当然,解决方法有很多,可以给sort方法中传入回调函数。
复制代码 代码如下:
[5,10,1].sort(function(x,y){
if(x>y) {return 1;
}else{
return -1
}
}
);

这样就能得到你预期的结果了。

偶然发现,以记录之,防止忘记。
标签:
array,sort()

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“js中array的sort()方法使用介绍”

暂无“js中array的sort()方法使用介绍”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。