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

不明白升降序是什么原理,这么改一下也可以,为什么?

<!DOCTYPE html>

<html>

<head>

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

<title>Array对象 </title>

<script type="text/javascript">

   function sortNum(b,a) {

       return a-b;

   }

var myarr = new Array("80","16","50","6","100","1");

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

</script>

</head>

<body>

</body>

</html>

结果是100,80,50,16,6,1,为什么会这样

正在回答

2 回答

不明白?  这样写其实与原来的比较函数一样,只是现在的a和b指代的元素交换了。

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

Troy有时候有点二

比如 80先和16比,再和50,6,100,1比,比他们小就换位置?接着第二个16和其他的比?一次往下?还是其他的方式,和那个冒泡排序一样还是怎么的?
2015-12-01 回复 有任何疑惑可以回复我~

其实就是根据 

function sortNum(b,a) {

       return a-b;

   }

这个方法的返回值还判断是升序还是降序,这里的返回值只有三种情况,等于0,大于0,小于0;

若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。

若 a 等于 b,则返回 0。

若 a 大于 b,则返回一个大于 0 的值。


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

Troy有时候有点二

和那个冒泡排序差不多?
2015-12-01 回复 有任何疑惑可以回复我~
#2

李晓健 回复 Troy有时候有点二

你可以这么理解
2015-12-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

不明白升降序是什么原理,这么改一下也可以,为什么?

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