排序sort 排序用法

2021-10-06 17:45:14 字數 1809 閱讀 6470

語法:array

.sort

(fun

);引數fun可選。規定排序順序。必須是函式。

注:如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。

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

b,其返回值如下:若a

小於b,在排序後的陣列中

a應該出現在

b之前,則返回乙個小於

0的值。若a

等於b,則返回0。

若a大於b,則返回乙個大於

0的值。

簡單點就是:比較函式兩個引數a和b,返回a-b

公升序,返回b-a降序/

/注:原陣列發生改變

例:

1.不傳引數,將不會按照數值大小排序,按照字元編碼的順序進行排序;

var arr = ['general','tom','bob','john','army'];

var resarr = arr.sort();

console.log(resarr);//輸出 ["army", "bob", "general", "john", "tom"]

var arr2 = [30,10,111,35,1899,50,45];

var resarr2 = arr2.sort();

console.log(resarr2);//輸出 [10, 111, 1899, 30, 35, 45, 50]

2.傳入引數,實現公升序,降序;

var arr3 = [30,10,111,35,1899,50,45];

arr3.sort(function(a,b))

console.log(arr3);//輸出 [10, 30, 35, 45, 50, 111, 1899]

var arr4 = [30,10,111,35,1899,50,45];

arr4.sort(function(a,b))

console.log(arr4);//輸出 [1899, 111, 50, 45, 35, 30, 10]

3.根據陣列中的物件的某個屬性值排序;

var arr5 = [,,,,,];

arr5.sort(function(a,b))

console.log(arr5);

//輸出新的排序

//

//

//

//

//

//

4.根據陣列中的物件的多個屬性值排序,多條件排序;

var arr6 = [,,,,,];

arr6.sort(function(a,b)else

}) console.log(arr6);

//輸出新的排序

sort排序用法

做acm題的時候,排序是一種經常要用到的操作。如果每次都冒泡之類的o n 2 排序,不但程式容易超時,而且費時。在algorithm 演算法 庫里有個sort函式,可以直接對陣列排序,複雜度為n log2 n 使用這個函式,需要包含三個標頭檔案。include include using names...

Sort排序用法

使用sort函式簡單 方便,c 一種排序方法之一 排序方法是類似於快排的方法 但是實際運用過程需要我們做一些變形 於是 寫下這篇筆記,以便後來複習 sort start,end,cmp 標頭檔案為 include sort函式有三個引數 1 第乙個引數是陣列的首位址,一般寫上陣列名就可以,因為陣列名...

js排序 sort 排序用法

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