sort排序错乱问题

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

sort排序错乱问题

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

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

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

sort排序错乱问题

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

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

sort排序错乱问题

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

上一篇:JavaScript学习总结(三)——this、原型、javascript面向对象


下一篇:Lua 的函数库 01