JavaScript 給漢字排序?qū)嵗a
更新時間:2008年06月28日 00:25:17 作者:
數(shù)組的 sort 方法默認字符的編碼排序,有時候要給一組漢字排序,默認的方法就不適用了。
比如 var arr = ["中","華","人","民","共","和","國"],在執(zhí)行 sort 方法后結(jié)果為 :中,人,共,華,和,國,民,既不是拼音也不是筆劃數(shù)量的排序。
以前很少留意過 localeCompare 方法,手冊中說它執(zhí)行時返回一個值,指出在當前的區(qū)域設(shè)置中兩個字符串是否相同。返回值有三種:-1,0,1,剛好是 sort 方法參數(shù)所需要的類型。把 localeCompare 應(yīng)用到 sort 方法中去,看看結(jié)果:
var arr = ["中","華","人","民","共","和","國"];
alert(arr.sort(function(a,b){return a.localeCompare(b)}));//結(jié)果為:共,國,和,華,民,人,中(拼音升序)
注意到 localeCompare 方法是在當前區(qū)域中進行比較的,即比較的環(huán)境為當前操作系統(tǒng)設(shè)置的地理區(qū)域,比如數(shù)字、貨幣、日期時間等的表現(xiàn)方式(在“控制面板”中可以查看修改),如果設(shè)置排序的方式為筆劃,那上面的結(jié)果則為:人,中,民,共,華,和,國(筆劃升序)。
以前很少留意過 localeCompare 方法,手冊中說它執(zhí)行時返回一個值,指出在當前的區(qū)域設(shè)置中兩個字符串是否相同。返回值有三種:-1,0,1,剛好是 sort 方法參數(shù)所需要的類型。把 localeCompare 應(yīng)用到 sort 方法中去,看看結(jié)果:
var arr = ["中","華","人","民","共","和","國"];
alert(arr.sort(function(a,b){return a.localeCompare(b)}));//結(jié)果為:共,國,和,華,民,人,中(拼音升序)
注意到 localeCompare 方法是在當前區(qū)域中進行比較的,即比較的環(huán)境為當前操作系統(tǒng)設(shè)置的地理區(qū)域,比如數(shù)字、貨幣、日期時間等的表現(xiàn)方式(在“控制面板”中可以查看修改),如果設(shè)置排序的方式為筆劃,那上面的結(jié)果則為:人,中,民,共,華,和,國(筆劃升序)。
您可能感興趣的文章:
相關(guān)文章
CocosCreator通用框架設(shè)計之網(wǎng)絡(luò)
這篇文章主要介紹了CocosCreator通用框架設(shè)計之網(wǎng)絡(luò),詳細講解了WebSocket的原理和使用方法,對WebSocket感興趣的同學,一定要看一下2021-04-04
uniapp實現(xiàn)下拉刷新與上拉觸底加載功能的示例代碼
這篇文章主要記錄一下uniapp實現(xiàn)下拉刷新與上拉觸底加載功能的示例代碼,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-04-04
JavaScript獲取網(wǎng)頁表單action屬性的方法
這篇文章主要介紹了JavaScript獲取網(wǎng)頁表單action屬性的方法,涉及javascript操作表單屬性的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04
js String對象中常用方法小結(jié)(字符串操作)
js String對象中常用方法小結(jié),需要的朋友可以參考下2012-01-01

