為什么a-b>0是升序,b-a>0就是降序了?
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array對(duì)象 </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
因?yàn)閟ort()函數(shù)使用的是冒泡排序,冒泡排序會(huì)重復(fù)地走訪要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過來,一直重復(fù)地進(jìn)行直到說該數(shù)列已經(jīng)排序完成。
如果a-b>0(即正數(shù))就把a(bǔ)和b的位置交換,也就是較小的一個(gè)數(shù)會(huì)排到前面;
如果b-a>0就把a(bǔ)和b的位置交換,也就是較大的一個(gè)數(shù)會(huì)排到前面。
感覺這個(gè)知道就好,個(gè)人理解就是按照字母表順序 a為1,b為2。 從小到大排序,反之則從大到小。
復(fù)制來的 ?希望對(duì)你有幫助
2016-11-22
引用評(píng)論用戶'LuciferCLC":sort()函數(shù)使用的是冒泡排序,冒泡排序會(huì)重復(fù)地走訪要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過來,一直重復(fù)地進(jìn)行直到說該數(shù)列已經(jīng)排序完成。
如果a-b>0(即正數(shù))就把a(bǔ)和b的位置交換,也就是較小的一個(gè)數(shù)會(huì)排到前面;
如果b-a>0就把a(bǔ)和b的位置交換,也就是較大的一個(gè)數(shù)會(huì)排到前面。