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

提出一个小问题

比较函数应该具有两个参数 a 和 b,其返回值如下:    

  若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
  若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
  若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。

这段说明是有问题的,因为我试验了差值小于1的几个浮点数排序,也能正确完成,所以我设想返回值应该是:  

  若返回值<0,则表示 A 在排序后的序列中出现在 B 之前。
  若返回值==0,则表示 A 和 B 具有相同的排序顺序。
  若返回值>0,则表示 A 在排序后的序列中出现在 B 之后。

正在回答

3 回答

这里是老师写错了吧,自己知道就好了

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

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Array对象 </title>

<script type="text/javascript">

   function sortNum(a,b) {return a-b;


   }

var myarr = new Array("80","16","50","6","100","1",0,0.1,-12,-0.1,0.4,-0.4);

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

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

document.write(myarr.sort(sortNum));

</script>

</head>

<body>

</body>

</html>

结果80,16,50,6,100,1,0,0.1,-12,-0.1,0.4,-0.4
-0.1,-0.4,-12,0,0.1,0.4,1,100,16,50,6,80
-12,-0.4,-0.1,0,0.1,0.4,1,6,16,50,80,100

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

http://img1.sycdn.imooc.com//59a56a71000183c509480554.jpg请问你试了几组数据?

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

我要SSR

那你知道你的parseInt是什么意思吗???整型!!!80.3跟80.2都是等于80!!!这时候这两个数字是谁在前面谁就小
2017-08-30 回复 有任何疑惑可以回复我~
#2

点赞狂魔 提问者 回复 我要SSR

是滴
2017-08-30 回复 有任何疑惑可以回复我~
#3

我要SSR 回复 点赞狂魔 提问者

这里老师出错了。。。除非是上面的代码。。。不然左边的结论就是错的
2017-08-30 回复 有任何疑惑可以回复我~
#4

慕UI7259014 回复 我要SSR

不好意思,是我弄错了,谢谢指正
2017-08-31 回复 有任何疑惑可以回复我~
#5

慕尼黑7016646

你在逗我 parseint
2018-01-02 回复 有任何疑惑可以回复我~
查看2条回复

举报

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

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

进入课程

提出一个小问题

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