排序--漢字與數字

// 若是是數字排序直接用sort方法能夠排序
var numArray = [5,3,10,2];
numArray.sort(function(a,b){
    return a-b
}) // [2, 3, 5, 10]
// 若是是是漢字用拼音排序,直接用上面的方法,就不會有用,此時找到一個方法localeCompare()進行比較。
var hanziArray = ["已到場","已離場","已結束"];
hanziArray.sort(function(a,b){
    return a.localeCompare(b);
}) // ["已到場", "已結束", "已離場"]
// 若是不止按照一個關鍵字排序
data.sort((a: any, b: any) => {
// 若是兩個值相等的話進行進一步排序
  if (a[mainKey] === b[mainKey]) {
// 判斷是否爲數字排序
    if (isNaN(a[key] - b[key])) {
      return order === a[key].localeCompare(b[key]);
    } else {
      return a[key] - b[key];
    }
  } else {
    if (isNaN(b[mainKey] - a[mainKey])) {
      return mainOrder === a[mainKey].localeCompare(b[mainKey])
    } else {
      return mainOrder ===  a[mainKey] - b[mainKey];
    }
  }
});
相關文章
相關標籤/搜索