[問題] javascript 中文排序問題

看板Ajax作者 (給我極品其餘免談)時間13年前 (2012/06/26 00:59), 編輯推噓1(108)
留言9則, 6人參與, 最新討論串1/2 (看更多)
各位大大晚安 最近在利用javascript練習排序 但是中文排序卻不正確 上網查了一些資料 發現可以使用 array.sort(function(a,b){return a.localeCompare(b)}); 這個方式 實際上套用發現還是無法正確的排序 不知道哪裡出了問題 再麻煩各位大大給些建議 非常感謝了 T_T 我的程式碼如下: <script src="jquery-1.7.1.min.js"></script> <script> $(function(){ var array = ['二','四','一','三','我','哈','王','嘿','a','f','b']; array.sort(function(a,b){return a.localeCompare(b)}); for(var i=0; i<array.length; i++){ $("body").append(array[i]+","); } }); </script> 排序出來變成: a,b,f,一,三,二,哈,嘿,四,我,王, -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.180.41

06/26 09:11, , 1F
是依照編碼去排..所以這樣排可能是對的
06/26 09:11, 1F

06/26 10:18, , 2F
中文的排序本來就是這樣
06/26 10:18, 2F

06/26 10:45, , 3F
原PO希望怎麼排呢?
06/26 10:45, 3F

06/26 11:15, , 4F
中文筆畫排序吧?之前是用MSSQL的功能解決的..用js 難喔
06/26 11:15, 4F

06/26 11:30, , 5F
用urlencode來看,一 => %E4%B8%80 , 二 => %E4%BA%8C
06/26 11:30, 5F

06/26 11:30, , 6F
三 => %E4%B8%89 , 這樣要排就會變一,三,二 ..
06/26 11:30, 6F

06/26 14:57, , 7F
謝謝各位大大的解答,我之前用樓上大大的方式
06/26 14:57, 7F

06/26 14:58, , 8F
排出來跟總筆畫的順序有差異,看起來JS沒辦法順利解決了
06/26 14:58, 8F

06/26 14:58, , 9F
還是很感謝大大們~ ^^
06/26 14:58, 9F
文章代碼(AID): #1Fw9Zo27 (Ajax)
文章代碼(AID): #1Fw9Zo27 (Ajax)