最近用Javascript写一个随机的函数,忘记了sort()对数字的排序默认是不会考虑十进制问题的。
举个例子, 10 > 2 > 4, 但是(按照默认的sort(),从小达到的排序)排序的时候 10会在2的前面,为什么?因为sort()默认的排序是按照类似西方的字母的排序,先排个位再十位等等。
牢记!!
所以,希望用sort()来排序十进制,从小到大的写法应该是:
XXX.sort(function(a,b){return a-b});
本文详细解释了JavaScript中sort()函数默认排序方式的问题,并提供了正确排序十进制数的方法。
最近用Javascript写一个随机的函数,忘记了sort()对数字的排序默认是不会考虑十进制问题的。
举个例子, 10 > 2 > 4, 但是(按照默认的sort(),从小达到的排序)排序的时候 10会在2的前面,为什么?因为sort()默认的排序是按照类似西方的字母的排序,先排个位再十位等等。
牢记!!
所以,希望用sort()来排序十进制,从小到大的写法应该是:
XXX.sort(function(a,b){return a-b});

被折叠的 条评论
为什么被折叠?