為何a-b和b-a不一樣?
學(xué)習(xí)中的例子如下:
<script type="text/javascript">
?function sortNum(a,b) {
?return a - b;
//升序,如降序,把“a - b”該成“b - a”
}
var myarr = new Array("80","16","50","6","100","1");
?document.write(myarr + "<br>");
?document.write(myarr.sort(sortNum));
</script>
為何return a-b就是升序,而b-a就是降序,比較函數(shù)時(shí),無論a-b還是b-a都只是兩個(gè)參數(shù),從數(shù)學(xué)角度,我可以把b看作a,把a(bǔ)看作b,為何結(jié)果是不同的呢?
2016-04-17
該函數(shù)要比較兩個(gè)值,然后返回一個(gè)用于說明這兩個(gè)值的相對順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個(gè)參數(shù) a 和 b,其返回值如下:?
? 若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。
? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后
好好看下這個(gè),就能理解了
2016-04-16
我對于例子是這樣理解的: ? ? ? 因?yàn)閍-b的值就是sort函數(shù)的參數(shù),當(dāng)參數(shù)<=-1時(shí),,就表示在unicode表中a在b之前,所以sort函數(shù)自動(dòng)將a,b降序排列
2016-04-12
雖然從數(shù)學(xué)的角度說沒錯(cuò),但是你用的是人家已經(jīng)封裝好了的sortNum函數(shù),函數(shù)內(nèi)部將a和b定順序了,a-b和b-a不能等同??梢灶惐葹閍1-a2和a2-a1,你那種是忽略順序,相當(dāng)于a-a和b-b,能理解么?
2016-04-12
該函數(shù)要比較兩個(gè)值,然后返回一個(gè)用于說明這兩個(gè)值的相對順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個(gè)參數(shù) a 和 b,其返回值如下:?
? 若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。
? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后