首先,我們先認識下sort()方法
我們在VS中敲出如下代碼
我們會得到如下運行
如果我們修改一下呢
會得到
可以看到,sort()方法,是按照字符(數字0-9或者字母a-z)來排序的,先按照第一個字符排序
如果第一個字符相同,再比較第二個字符,以此類推。
所以,如果是純數字的數組,則會比較數字
如果我們需要按照每個數字的大小來實現升序或者降序排列呢?我們需要用到函數~
那么里面return a-b;該怎么理解呢?
W3SCHOOL這樣給我們解釋
首先,我們需要知道,sort的比較方法,類似於我們用for循環的“選擇排序”
比如我給的例子:會將1取出來,依次和5、14、23、25、85進行比較
然后將5取出來,依次和14、23、25、85進行比較
............以此類推
所以我們可以這樣理解return a-b;
當第一個數比第二個數大的時候,我們交換位置~~ //我們會得到一個升序的結果
如果是return b-a呢?
當第二個數比第一個數大的時候,我們交換位置~~ //我們會得到一個降序的結果
這里的a,b僅僅是一個形參的命名,同樣你可以取x,y
但是,a,b的位置不能寫反,如果你寫(a,b), a-b 中a就是第一個數,b就是第二個數,反之~~~