为了账号安全,请及时绑定邮箱和手机立即绑定

sort为什么会这样排序,100为什么在0.1和18之间,怎样运算的

不知道为什么会这样排序

正在回答

5 回答

unicode编码  0.01   ===> \u0030\u002e\u0030\u0031    100 ===>\u0031\u0030\u0030  18===> \u0031\u0038 ,从第一位开始比较u0031比u0030大,所以在100和18后面,相同的时候比较第二位同理,18在100后面,好吧我承认我很无聊。

0 回复 有任何疑惑可以回复我~

 function sortNum(a,b) {

return a-b;

   }

var myarr = new Array("0.01","0.1","3","-1","100","50","18");

document.write(myarr.sort()+"<br>");

document.write(myarr.sort(sortNum))

划线的部位是在你代码上添加的,这样就会正常按照你的意愿排列,不添加的话,个人理解是你没对这组数安排升降,也没调用函数,那它就自己随机排列啦,也不知道对不对哈,望大神们指导!

0 回复 有任何疑惑可以回复我~

如果不指定<方法函数>,则按unicode码顺序排列。

这一节的讲解里面有,你也可以再详细看看哟

0 回复 有任何疑惑可以回复我~

因为你没有指定<方法函数>,那么就会按unicode码顺序排列。

0 回复 有任何疑惑可以回复我~

代码贴出来

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

sort为什么会这样排序,100为什么在0.1和18之间,怎样运算的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信