Search

10/27/2008

localeCompare

如何用javascript做中文排序 @ 雜七雜八的kewang部落格 :: PIXNET 痞客邦 ::

看了這兩篇「JavaScript中实现数组的排序、乱序和搜索。」和「利用JavaScript的sort()对包含汉字字符串数组进行排序」之後,才知道javascript有localeCompare()這種函式可以拿來做本地化的字串比較。

localeCompare的使用方法就是像這樣:
ret = '國立宜蘭大學'.localeCompare('國立台灣大學')

原始字串(國立宜蘭大學)跟要比較的字串(國立台灣大學)做比較,如果原始字串比較小的話,則ret就會傳回小於0的數字;如果比較大的話,則傳回大於0的數字;如果相等就傳回0。

http://chunghe.googlecode.com/svn/trunk/experiment/sort.by.filename.htm


function sortByFileName(a, b){
var x = parseInt(a);
var y = parseInt(b);
if(( isNaN(x)) || (isNaN(y)))
return a.localeCompare(b);
return x-y;
}

沒有留言: