首页 > 代码库 > sort排序错乱问题

sort排序错乱问题

对于sort排序  之前就遇到过这种问题  不过没有在意 今天遇到 就找了一下原理 

技术分享

在这种sort排序中可以看到排序几乎没有什么问题 就是5比较特殊 会在20是的后面  

~ sort()方法开始的时候会调用数组中每个项的toString()方法,这个方法会使数组的每一项变成字符串,然后去比较字符串,即使传进去的每一个都是数字,最终也会比较转型后的字符串,sort排序是根据测试字符串的结果改变原来的顺序,在比较中 5会在10、15....的后面,所以尽管方法很快  但是也未免会有差错

所以在sort得方法里 可以通过一个比较函数的传参 进行判断  

技术分享

不拷贝代码进来了  自己打一遍 记忆力会更好   

这样sort排序就不会出问题了    呢?  如果你不想要这样的效果 完全可以 自己通过reverse()去改变数组的顺序 

技术分享

~    我只是前端小白一个  写博客只是为了方便自己看 也希望可以帮到别人解惑。可喷可不喷

sort排序错乱问题