亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

數組排序問題

function sortNum(a,b) {

? ? ? ?return a-b;

}

這個怎么就能實現升序排序了?怎么這個樣子



正在回答

3 回答

注意:?該函數要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其返回值如下:?

? 若返回值<=-1,則表示 A 在排序后的序列中出現在 B 之前。
? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? 若返回值>=1,則表示 A 在排序后的序列中出現在 B 之后。

原文中說的:(以上),a-b<=-1(因為這里是a,b整數)那么a就是排在b之前。。所以就是升序小的排在前面。。。sort 是根據反回值來操作哪個做前面哪個做后面的。。而return a-b ?就是給sort的返回值,然后sort再進行判斷,最后就是升序 ? ?如果下b-a 那就是降序?

0 回復 有任何疑惑可以回復我~

方法錯誤這個不能排序 可以用function Gba(a,b){ return a?b?a:b} 這樣一句話來排序

0 回復 有任何疑惑可以回復我~

這個只是一個比較兩個數大小的函數,并不是用來排序的。 sort()才是排序函數,array.sort()這個函數自己會進行一些排序的算法,具體我不知道他用的是什么,大概也就是哪幾種,快排,冒泡,歸并之類的,這個不用管。但是排序需要一個標準,那就是如何比較兩個數的大小,這個你可以告訴這個sort函數,或者叫做指定。所以你問的這個函數,相當于告訴sort函數,如果a-b>0,那么a排在b的后面,a-b<0排在前面,a=b兩個相等,兩個一樣。另外我覺得課程里說的有點困惑,按照Javascript的文檔描述,傳遞給sort()的函數,返回值應該是>0,<0 和=0,并不是和1,-1相關。

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468967    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

數組排序問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號