对于sort排序 之前就遇到过这种问题 不过没有在意 今天遇到 就找了一下原理
在这种sort排序中可以看到排序几乎没有什么问题 就是5比较特殊 会在20是的后面
~ sort()方法开始的时候会调用数组中每个项的toString()方法,这个方法会使数组的每一项变成字符串,然后去比较字符串,即使传进去的每一个都是数字,最终也会比较转型后的字符串,sort排序是根据测试字符串的结果改变原来的顺序,在比较中 5会在10、15....的后面,所以尽管方法很快 但是也未免会有差错
所以在sort得方法里 可以通过一个比较函数的传参 进行判断
不拷贝代码进来了 自己打一遍 记忆力会更好
这样sort排序就不会出问题了 呢? 如果你不想要这样的效果 完全可以 自己通过reverse()去改变数组的顺序
~ 我只是前端小白一个 写博客只是为了方便自己看 也希望可以帮到别人解惑。可喷可不喷
时间: 2024-11-05 16:15:40