看了這兩篇「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;
}
沒有留言:
張貼留言