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

第二条说:若返回值介于-1和1之间则同等排序的位置,但其实自己试试,得到的结论却只是是否为正数和负数而已,好像不是以-1和1为分界线

<!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","16.5","50","6","100","1");
document.write(myarr.sort(sortNum));
</script>
</head>
<body>
</body>
</html>


正在回答

4 回答

这个只是例子中这么说的而已,你看unicode表,每一个字符都有一个序号,序号就是自然数,两个序号一减的结果,就只有-1,0和1这三种了,其实也就是以 0 为分界线而已

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

这个很好理解你用F12调试一下就知道了,具体的规则是这样的

每次传递两个数进去比较

数组中元素的顺序排序取决于函数的返回值,原则如下:
0:元素保持原来的顺序不变。
大于零:元素交换两者的顺序。
小于零:元素不交换两者的顺序。
也就是返回值大于零的时候才会交换两个元素的顺序



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

这个好像还没有学到吗

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

那是-1到几之间

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

狮子追求真理 提问者

就是正数和负数之分而已
2016-04-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

第二条说:若返回值介于-1和1之间则同等排序的位置,但其实自己试试,得到的结论却只是是否为正数和负数而已,好像不是以-1和1为分界线

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