qq_风_54
2015-11-08 16:21
<!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,为什么会这样
不明白? 这样写其实与原来的比较函数一样,只是现在的a和b指代的元素交换了。
其实就是根据
function sortNum(b,a) {
return a-b;
}
这个方法的返回值还判断是升序还是降序,这里的返回值只有三种情况,等于0,大于0,小于0;
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
JavaScript进阶篇
468673 学习 · 21895 问题
相似问题