sort 排序問題

2021-10-13 12:40:08 字數 805 閱讀 5374

sort預設是按第乙個數字比較,相同再按第二個陣列比較,加入遇到這樣的陣列arr = [1,6,8,2,3,4,11]; 

我們先看一下直接sort的結果:

console.log(arr.sort()); // [1, 11, 2, 3, 4, 6, 8]
這也是11排在1後面的原因,個位數的排序還可以直接sort()排序,十位以上再直接sort就不是按從小到大拍的了!那怎麼辦呢?

sort()方法可以接受乙個函式引數來實現數字的大小比較

該函式要比較兩個值,然後返回乙個用於說明這兩個值的相對順序的數字,比較函式應該具有兩個引數 a 和 b,其返回值如下:

若返回值<=-1,則表示 a 在排序後的序列**現在 b 之前。

若返回值》-1 && <1,則表示 a 和 b 具有相同的排序順序。

若返回值》=1,則表示 a 在排序後的序列**現在 b 之後。

所以從小到大排序為:

console.log(arr.sort((n1,n2) => (n1 - n2))); // [1, 2, 3, 4, 6, 8,11]
如果要按從小到大排序,function sortnum(a, b) ;

如果要按從大到小排序,function sortnum(a, b) ;

如果打亂陣列,function sortnum() ;

原始出處 、作者資訊和本宣告。否則將追究法律責任。

sort()排序問題 -

qui-note

排序問題 粗講sort函式

排序問題即把一些無序的數字,字元,字串等等具有大小比較性的變數排列成乙個有序的序列。1.選擇排序 原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。實現 include ...

js陣列sort 排序的問題

最近跟自以為很了解的陣列幹上了,就像許多我們認知的東西一樣,總以為自己很了解的東西,其實並不了解。var a 12,4,1,43,5,3,52 alert a 源 12,4,1,43,5,3,52 alert a.sort 1,12,3,4,43,5,52 這麼排!不符合咱們的口味吧!alert a...

排序sort 排序用法

語法 array sort fun 引數fun可選。規定排序順序。必須是函式。注 如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。如果想按照其他規則進行排序,就需要提供比較函式,該函式要比較兩個值,然後返回乙個用於說明這兩個值的相對順序的...