比较函数应该具有两个参数 a 和 b,其返回值如下:
若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
这段说明是有问题的,因为我试验了差值小于1的几个浮点数排序,也能正确完成,所以我设想返回值应该是:
若返回值<0,则表示 A 在排序后的序列中出现在 B 之前。
若返回值==0,则表示 A 和 B 具有相同的排序顺序。
若返回值>0,则表示 A 在排序后的序列中出现在 B 之后。
这里是老师写错了吧,自己知道就好了
<!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
请问你试了几组数据?