时间:2021-05-26
或许你一直在用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
}
}
);
这样就能得到你预期的结果了。
偶然发现,以记录之,防止忘记。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如果你接触javascript有一段时间了,你肯定知道数组排序函数sort,sort是array原型中的一个方法,即array.prototype.sort()
本文实例讲述了js使用Array.prototype.sort()对数组对象排序的方法。分享给大家供大家参考。具体分析如下:在讲对数组对象进行排序时,我们先来简
本文介绍了Js的Array数组对象,具体内容如下目录1.介绍:介绍Array数组对象的说明、定义方式以及属性。2.实例方法:介绍Array对象的实例方法:con
JavaScript数组sort()方法排序数组的元素。语法array.sort(compareFunction);下面是参数的详细信息:compareFunc
复制代码代码如下:functionarray_sort($array,$key){if(is_array($array)){$key_array=null;$n