排序--汉字与数字

// 若是是数字排序直接用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];
    }
  }
});