JavaScript 給漢字排序實例代碼
更新時間:2008年06月28日 00:25:17 作者:
數(shù)組的 sort 方法默認字符的編碼排序,有時候要給一組漢字排序,默認的方法就不適用了。
比如 var arr = ["中","華","人","民","共","和","國"],在執(zhí)行 sort 方法后結果為 :中,人,共,華,和,國,民,既不是拼音也不是筆劃數(shù)量的排序。
以前很少留意過 localeCompare 方法,手冊中說它執(zhí)行時返回一個值,指出在當前的區(qū)域設置中兩個字符串是否相同。返回值有三種:-1,0,1,剛好是 sort 方法參數(shù)所需要的類型。把 localeCompare 應用到 sort 方法中去,看看結果:
var arr = ["中","華","人","民","共","和","國"];
alert(arr.sort(function(a,b){return a.localeCompare(b)}));//結果為:共,國,和,華,民,人,中(拼音升序)
注意到 localeCompare 方法是在當前區(qū)域中進行比較的,即比較的環(huán)境為當前操作系統(tǒng)設置的地理區(qū)域,比如數(shù)字、貨幣、日期時間等的表現(xiàn)方式(在“控制面板”中可以查看修改),如果設置排序的方式為筆劃,那上面的結果則為:人,中,民,共,華,和,國(筆劃升序)。
以前很少留意過 localeCompare 方法,手冊中說它執(zhí)行時返回一個值,指出在當前的區(qū)域設置中兩個字符串是否相同。返回值有三種:-1,0,1,剛好是 sort 方法參數(shù)所需要的類型。把 localeCompare 應用到 sort 方法中去,看看結果:
var arr = ["中","華","人","民","共","和","國"];
alert(arr.sort(function(a,b){return a.localeCompare(b)}));//結果為:共,國,和,華,民,人,中(拼音升序)
注意到 localeCompare 方法是在當前區(qū)域中進行比較的,即比較的環(huán)境為當前操作系統(tǒng)設置的地理區(qū)域,比如數(shù)字、貨幣、日期時間等的表現(xiàn)方式(在“控制面板”中可以查看修改),如果設置排序的方式為筆劃,那上面的結果則為:人,中,民,共,華,和,國(筆劃升序)。
相關文章
JS 組件系列之Bootstrap Table的凍結列功能徹底解決高度問題
這篇文章主要介紹了JS 組件系列之Bootstrap Table的凍結列功能徹底解決高度問題,需要的朋友可以參考下2017-06-06