sortNum(a,b)這個(gè)函數(shù)使用的時(shí)候不應(yīng)該傳參嗎?
<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>
不懂這個(gè)函數(shù)的意思,前面有人解釋a,b可以理解為數(shù)組下標(biāo),可是下標(biāo)怎么能體現(xiàn)數(shù)組的值呢
2019-06-08
sortNum()被傳進(jìn)去的時(shí)候其實(shí)是以“函數(shù)指針”的方式傳進(jìn)去的,因?yàn)樵贘S里面,函數(shù)也被當(dāng)作對(duì)象處理,所以也是可以被當(dāng)作參數(shù)傳遞的。也就是你傳遞了一個(gè)函數(shù)對(duì)象給array.sort()。
我覺(jué)得你想問(wèn)的是既然沒(méi)有傳遞那些元素進(jìn)去,到底是怎么排序的。其實(shí)我們自定義的sortNum()被傳入array.sort()之后,由array.sort()將數(shù)組里的元素兩兩傳入sortNum()來(lái)進(jìn)行大小比較,也就是說(shuō)不需要我們手動(dòng)傳入數(shù)組元素。
2019-05-30
不要亂理解! myarr.sort(sortNum) 相當(dāng)于 myarr.sort(function sortNum(a,b) { return a -b;})。
至于為什么這樣寫,建議查看文檔??es6關(guān)于該方法的解釋
2019-05-21
我的理解就是固定格式
2019-04-02
我的理解,指的不是下標(biāo),而是ASCII碼,a為97,b為98,a-b是指按ASCII碼進(jìn)行升序排列
2019-03-09
a,b傳遞的應(yīng)該不是下標(biāo)而是數(shù)組內(nèi)的元素,sort()排序是對(duì)數(shù)組內(nèi)的元素進(jìn)行排序,所以取出來(lái)比較的不是下標(biāo)而是元素。