javascript對陣列的排序

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

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如何建立陣列時定義型別

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

已知定義int a a則對陣列元素正確的引用時 A p 1 Bp 3 Cp 1 3 Dp

教你個簡便的方法。p i 等價於p i 反過來也成立。只要把答案試下就知道了。取位址和顯示內容是兩個相反的操作,可以互相抵消的 b.p 3 p 3 a 3 d.p 2 p 0 2 p 0 2 p 0 2 a 0 2 選d 寂寞而莫我知也 d是對的.把a賦值給陣列指標,下標的引用是 p n n 或者a...

設有C語句 int a則對陣列a元素的正確引用是A a B a C a D a

答案是a,b,c陣列越界,d語法錯誤。8 在定義 int a 5 4 對陣列元素的正確引用是 a a 0 0 b a 2 4 c a 5 4 d a 1,1 9 若給 已知int a 4 5 則對陣列a的元素引用正確的是 a.a 0 4 b.a 4 5 c.a 2 5 d.a 4 4 詳細解釋下。b...