javascript對陣列的排序

時間 2021-08-11 17:49:43

1樓:

是這樣的,在array物件的sort(0方法之中,封裝了關於如何排序的引數,這個引數其實是一個函式,就是你這裡的sortnumber(),這個返回值不是返回給使用者的,是返回給sort()方法的,讓其按照返回值的不同來決定如何排序。

2樓:匿名使用者

arr.sort(sortnumber)

arr.sort():系統函式,處理arr陣列相鄰兩個元素。

這裡sortnumber是自定義的排序條件。

因為sort()函式的排序條件是:引數大於0,arr的相鄰兩個元素交換位置;

引數小於0,arr的相鄰兩個元素不交換位置;

引數等於0,arr的相鄰兩個元素大小相等;所以sortnumber自定義函式必須返回一個數值。

(a-b)表示相鄰兩個元素按照前一個元素減去後一個元素.並返回這個數值,sort()函式根據這個數值的正負來確定arr當前兩個元素是否交換位置。

反之:b-a就變成倒序了。這就意味這b-a表示相鄰兩個元素按照後一個元素減去前一個元素.並返回這個數值,sort()函式根據這個數值的正負來確定arr當前兩個元素是否交換位置。

3樓:阿基米糊

其實這個函式只是一個形式,如果定義成這樣:

function sortnumber(b,a)排序出來也是升序的。其與

function sornumber(a,b)的效果是一樣的。

也就是說對於這個傳入的函式,如果返回用第一個引數減去第二個引數,那麼是升序排列;

如果返回用第二個引數減去第一個引數,那麼是降序排列。

如果不傳入函式,那麼是按照字串的字典順序升序排列。

javascript怎麼給div隨機陣列顏色,每次隨機div的顏色都是不重複的

哦 廿一 首先你需要了解一下rgb色 這裡不做介紹 var r math.round math.random 255 tostring 16 var g math.round math.random 255 tostring 16 var b math.round math.random 255 t...

javascript如何建立陣列時定義型別

網海1書生 指令碼都是弱型別語言,就是說變數宣告的時候是不能顯式指定型別的,在賦值的時候再根據值的實際型別來決定變數的型別。比如var a,這時候a的型別是一種特殊的型別,叫undefined,然後當你a 123,它立刻就變為number型了,a 123 則變為string型。當然實際應用中宣告和賦...

matlab中對陣列求最大的幾個數

改好了。呵呵,和我想的一樣,是升序。下面是你要輸入的資料 a 3,15,6,21,18,2,18,19,1,4,7,29 21 23 29 23 14 6 9 29 31 原矩陣 m 3 週期 n 4 你要取的前n個數 下面一個字也不用改 b reshape a,m,c i max b d,j so...