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

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

請問return a-b為什么是降序呢?

請問return ?a-b為什么是降序呢,什么原理啊,看不大懂。。

正在回答

4 回答

首先,我們要知道自定義函數的規則:

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

? ? ? ? ? ? ? ? ? ?若返回值<=-1,則表示 A 在排序后的序列中出現在 B 之前。

? ? ? ? ? ? ? ? ? ?若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。

? ? ? ? ? ? ? ? ?? 若返回值>=1,則表示 A 在排序后的序列中出現在 B 之后。

然后,來定義我們自己的函數:

1)按從小到大排(升序):

? ? ? ? ? ? ? ?? ? ?function sortNum(a,b){

? ? ? ? ? ? ? ? ? ??? ? ?return a-b;

? ? ? ? ? ? ?? ?????}?

舉例:若a=1,b=3,則return的值為 -2<-1,那么a應該排在b之前,即1排在3之前,為從小到大排。

2)按從大到小排(降序):

? ? ? ? ? ? ? ?? ? ?function sortNum2(a,b){

? ? ? ? ? ? ? ? ? ??? ? ?return b-a;

? ? ? ? ? ? ?? ?????}?

舉例:若a=1,b=3,則return的值為 2>1,那么a應該排在b之后,即1排在3之后,為從大到小排。


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

看了些資料,初淺的理解可以這樣:

sort()函數,要實現特定排序的話,函數要求提供一個(比較函數做為)參數,該(函數)參數 要有兩個比較值,而且需要返回值,用于說明這兩個值的相對順序的數字。這個比較函數的兩個參數可以是 a 和 b,或者 x和y ,是象征意義,至于sort()函數拿到這個參數(比較函數)怎么內部處理,是系統內部的事,我們暫且不用關心,知道這么用就可以了


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

聽大神說,這叫“值交換” 具體 也不太理解,先學著用吧

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

額,看到樓下的回答,知道了,,,冒泡排序

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

舉報

0/150
提交
取消

請問return a-b為什么是降序呢?

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

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

幫助反饋 APP下載

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

公眾號

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