這個排序函數看不懂
function sortNum(a,b) {
? ? ? ?return a - b;
? ?}
var myarr = new Array("80","16","50","6","100","1");
document.write(myarr.sort(sortNum));
return a - b; 這是什么意思?返回 a與b的差? 不是說要返回大或者小的那個嗎?
這個函數接收兩個參數a和b 而下面運用的時候卻傳了個數組過來是什么操作? 按之前的知識如果要比較數字數組不是for循環,依次比較myarr[i]和myarr[i+1] 然后返回大或小的那個然后在進行排序嗎。這里直接這樣不懂。
2019-06-08
你有沒有發現如果a<b,a-b總是取得負數,這就能夠實現升序排列。
2018-10-12
意思應該是sort 會吧數組里面的數據依次導入sortNum(a,b)這個函數里面,然后根據它返回的數值,負值,0,正值,來排序
2018-09-05
剪切以下代碼到你瀏覽器的console. 你就能看到它是如何排序的。
var myarr = new Array("80","16","50","6","100","1");
myarr = myarr.sort(function(a,b){ console.log("a - b", a - b); document.write(myarr + "<br>"); return a - b});
2018-07-28
就是因為沒有賦值,因為本身a>b。不信你把a,b換成e,f或者m,o,會是一樣的---就好比體育課說按按大小個排列一樣,老師給的手勢就是a-b或者b-a的意思。。。。賦值了反而亂了。
2018-06-28
額 這個sortNum(a,b)就是一個特殊的數字排序的函數,當 a == b的時候為0,a > b的時候為1, a < b 的時候為 -1