第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

這個排序函數(shù)看不懂

function sortNum(a,b) {

? ? ? ?return a - b;

? ?}

var myarr = new Array("80","16","50","6","100","1");

document.write(myarr.sort(sortNum));

  1. return a - b; 這是什么意思?返回 a與b的差? 不是說要返回大或者小的那個嗎?

  2. 這個函數(shù)接收兩個參數(shù)a和b 而下面運用的時候卻傳了個數(shù)組過來是什么操作? 按之前的知識如果要比較數(shù)字?jǐn)?shù)組不是for循環(huán),依次比較myarr[i]和myarr[i+1] 然后返回大或小的那個然后在進行排序嗎。這里直接這樣不懂。


正在回答

5 回答

你有沒有發(fā)現(xiàn)如果a<b,a-b總是取得負(fù)數(shù),這就能夠?qū)崿F(xiàn)升序排列。

0 回復(fù) 有任何疑惑可以回復(fù)我~

意思應(yīng)該是sort 會吧數(shù)組里面的數(shù)據(jù)依次導(dǎo)入sortNum(a,b)這個函數(shù)里面,然后根據(jù)它返回的數(shù)值,負(fù)值,0,正值,來排序

0 回復(fù) 有任何疑惑可以回復(fù)我~

剪切以下代碼到你瀏覽器的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});


0 回復(fù) 有任何疑惑可以回復(fù)我~

就是因為沒有賦值,因為本身a>b。不信你把a,b換成e,f或者m,o,會是一樣的---就好比體育課說按按大小個排列一樣,老師給的手勢就是a-b或者b-a的意思。。。。賦值了反而亂了。

1 回復(fù) 有任何疑惑可以回復(fù)我~

額 這個sortNum(a,b)就是一個特殊的數(shù)字排序的函數(shù),當(dāng) a == b的時候為0,a > b的時候為1, a < b 的時候為 -1

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

系Lillian

還是不太懂,a和b沒賦值,且,為什么a-b就是升序,b-a時就是降序?
2018-07-17 回復(fù) 有任何疑惑可以回復(fù)我~
#2

風(fēng)起臨冬

sortNum是關(guān)鍵詞嗎,換成其他詞能不能行
2018-07-31 回復(fù) 有任何疑惑可以回復(fù)我~
#3

挽安0 回復(fù) 風(fēng)起臨冬

sortNum也就是函數(shù) 隨意取的 function看見這個就知道了
2018-08-02 回復(fù) 有任何疑惑可以回復(fù)我~
#4

扁扁1 回復(fù) 系Lillian

你去看java集合類比較器,comparable類,就是二叉樹數(shù)據(jù)結(jié)構(gòu),我猜這個JS底層跟這個一樣,返回1,說明是正數(shù),則a大于b,你可以去看看
2018-08-06 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

舉報

0/150
提交
取消

這個排序函數(shù)看不懂

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號