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...