作者luckymoon (青谷)
看板Ajax
標題[問題] JavaScript中,Array Method中的sort()
時間Wed Nov 11 17:40:51 2009
小弟想請問一下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
1F:推 No:回傳值>0則a排b後面,回傳值<0則a排b前面,相等則不變 11/11 18:13
2F:→ luckymoon:函式的a跟b抓陣列的值的規則是如何呢? 11/11 18:25
3F:→ TonyQ:不一定 , 任何一種比較性的排序都可能 . 可以自己實驗看看.. 11/11 18:43
4F:推 SansWord:Merge Sort, Insertion Sort, Quick Sort, Bubble Sort 11/12 16:08
5F:→ SansWord:都有可能~要看語言 11/12 16:09
6F:→ SansWord:比較好奇要怎麼實驗排序法?把每階段Print出來嗎? 11/12 16:10
7F:→ SansWord:有沒有比較好的工具可以觀察這種中間狀態? 11/12 16:10