這個排序函數(shù)看不懂
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的差? 不是說要返回大或者小的那個嗎?
這個函數(shù)接收兩個參數(shù)a和b 而下面運用的時候卻傳了個數(shù)組過來是什么操作? 按之前的知識如果要比較數(shù)字?jǐn)?shù)組不是for循環(huán),依次比較myarr[i]和myarr[i+1] 然后返回大或小的那個然后在進行排序嗎。這里直接這樣不懂。
2019-06-08
你有沒有發(fā)現(xiàn)如果a<b,a-b總是取得負(fù)數(shù),這就能夠?qū)崿F(xiàn)升序排列。
2018-10-12
意思應(yīng)該是sort 會吧數(shù)組里面的數(shù)據(jù)依次導(dǎo)入sortNum(a,b)這個函數(shù)里面,然后根據(jù)它返回的數(shù)值,負(fù)值,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)就是一個特殊的數(shù)字排序的函數(shù),當(dāng) a == b的時候為0,a > b的時候為1, a < b 的時候為 -1