Js陣列排序函式sort

2022-08-22 23:42:09 字數 775 閱讀 7676

js實現多維陣列和物件陣列排序,用的其實就是原生sort()函式,語法為:arrayobject.sort(sortby)(sortby 可選。規定排序順序。必須是函式。)

返回值為對陣列的引用;請注意,陣列在原陣列上進行排序,不生成副本。

如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。要實現這一點,首先應把陣列的元素都轉換成字串(如有必要),以便進行比較。

eg:

輸出:

a,f,c,e,b,d

a,b,c,d,e,f

如果想按照其他標準進行排序,就需要提供比較函式,該函式要比較兩個值,然後返回乙個用於說明這兩個值的相對順序的數字。比較函式應該具有兩個引數 a 和 b,其返回值如下:

若 a 小於 b,在排序後的陣列中 a 應該出現在 b 之前,則返回乙個小於 0 的值。

若 a 等於 b,則返回 0。

若 a 大於 b,則返回乙個大於 0 的值。

function

numascsort(a,b)

function

numdescsort(a,b)

var arr = new array( 1, 0, 3, 2, 0 );

arr.sort(numdescsort);

alert(arr);

arr.sort(numascsort);

alert(arr);

arr.sort();

alert(arr);

js 陣列排序函式sort

arrayobj.sort sortfunction 引數 sortfunction 可選項。是用來確定元素順序的函式的名稱。如果這個引數被省略,那麼元素將按照 ascii 字元順序進行公升序排列。sort 方法將 array 物件進行適當的排序 在執行過程中並不會建立新的 array 物件。如果為...

Js 陣列排序函式sort

最近看到乙個js函式sort 覺得挺有意思,寫在這裡與大家分享。如果有什麼地方不對或者有更好的寫法,也請大家不吝賜教。sort 返回乙個元素已經進行了排序的 array 物件。1.按字母排序 直接使用sort 函式,預設按字母順序排。var arr new array dd aa bb cc arr...

理解js陣列的sort函式排序

每次用js的sort函式排序都容易犯錯誤,當時搞懂了一段時間就又忘了。現在來把它摟一摟。sort函式的用法 arr 3,2,1 arr.sort a,b 其實這個函式確實設計得有點奇怪,他讓你傳入乙個自己的函式來確實排序演算法,所以關鍵是自己怎麼來寫這個比較函式,關於這個返回值 我很容易就想到 tr...