js中array的sort()方法使用介绍
更新时间:2014年02月20日 16:38:19 作者:
默认的sort方法并不是按照整形数据来排序,而是用的字符串匹配方式,下面有个不错的示例,大家可以参考下
或许你一直在用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
}
}
);
这样就能得到你预期的结果了。
偶然发现,以记录之,防止忘记。
或许你一直相信它会给你正确的结果。
至少我曾经也是这样认为的,直到有一天,我看到了如下的代码 :
复制代码 代码如下:
[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
}
}
);
这样就能得到你预期的结果了。
偶然发现,以记录之,防止忘记。
相关文章
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
这篇文章主要介绍了纯JavaScript实现的兼容各浏览器的添加和移除事件封装,本文直接给出实现代码,代码中带详细注释,需要的朋友可以参考下2015-03-03
JavaScript判断dom元素是否在可视区域的常规方式总结
这篇文章主要为大家详细介绍了JavaScript判断dom元素是否在可视区域的常规方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下2025-12-12
element 中 el-menu 组件的无限极循环思路代码详解
这篇文章主要介绍了element 中 el-menu 组件的无限极循环,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-04-04


最新评论