[問題] JavaScript中,Array Method中的sort()

看板Ajax作者 (青谷)時間16年前 (2009/11/11 17:40), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/2 (看更多)
小弟想請問一下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

11/11 18:13, , 1F
回傳值>0則a排b後面,回傳值<0則a排b前面,相等則不變
11/11 18:13, 1F

11/11 18:25, , 2F
函式的a跟b抓陣列的值的規則是如何呢?
11/11 18:25, 2F

11/11 18:43, , 3F
不一定 , 任何一種比較性的排序都可能 . 可以自己實驗看看..
11/11 18:43, 3F

11/12 16:08, , 4F
Merge Sort, Insertion Sort, Quick Sort, Bubble Sort
11/12 16:08, 4F

11/12 16:09, , 5F
都有可能~要看語言
11/12 16:09, 5F

11/12 16:10, , 6F
比較好奇要怎麼實驗排序法?把每階段Print出來嗎?
11/12 16:10, 6F

11/12 16:10, , 7F
有沒有比較好的工具可以觀察這種中間狀態?
11/12 16:10, 7F
文章代碼(AID): #1A-eQg9- (Ajax)
文章代碼(AID): #1A-eQg9- (Ajax)