為什么a-b>0是升序,b-a>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>0
? ?}
var myarr = new Array("80","16","50","6","100","1");
document.write(myarr.sort(sortNum));
</script>
</head>
<body>
</body>
</html>
2016-11-22
因為sort()函數使用的是冒泡排序,冒泡排序會重復地走訪要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來,一直重復地進行直到說該數列已經排序完成。
如果a-b>0(即正數)就把a和b的位置交換,也就是較小的一個數會排到前面;
如果b-a>0就把a和b的位置交換,也就是較大的一個數會排到前面。
感覺這個知道就好,個人理解就是按照字母表順序 a為1,b為2。 從小到大排序,反之則從大到小。
復制來的 ?希望對你有幫助
2016-11-22
引用評論用戶'LuciferCLC":sort()函數使用的是冒泡排序,冒泡排序會重復地走訪要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來,一直重復地進行直到說該數列已經排序完成。
如果a-b>0(即正數)就把a和b的位置交換,也就是較小的一個數會排到前面;
如果b-a>0就把a和b的位置交換,也就是較大的一個數會排到前面。