看板 Ajax 關於我們 聯絡資訊
小弟想請問一下Array的sort()這個Method。 sort()是用來做陣列中元素的排序,那麼小弟看到書中解釋,如果 要做字母排列以外的方式排序,就必須傳遞一個"比較函式"給它做 為參數。 var a = [33, 4, 1111, 222]; a.sort(function(a,b){ return a - b; }); 書中寫,用這樣的就可以以數字大小順序做排列,那麼,我想知道 的是,sort()裡面的函數是怎麼運作的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.174.155.95
No:回傳值>0則a排b後面,回傳值<0則a排b前面,相等則不變 11/11 18:13
luckymoon:函式的a跟b抓陣列的值的規則是如何呢? 11/11 18:25
TonyQ:不一定 , 任何一種比較性的排序都可能 . 可以自己實驗看看.. 11/11 18:43
SansWord:Merge Sort, Insertion Sort, Quick Sort, Bubble Sort 11/12 16:08
SansWord:都有可能~要看語言 11/12 16:09
SansWord:比較好奇要怎麼實驗排序法?把每階段Print出來嗎? 11/12 16:10
SansWord:有沒有比較好的工具可以觀察這種中間狀態? 11/12 16:10