通过数组元素某字段排序

通过数组元素某字段排序

复制代码
/*
  通过数组元素某字段排序
    先根据rank排序,再根据age排序,最后根据name排序
    data.sort(compare('rank', compare('age', compare('name'))));
*/
const compareArr = (name, minor) => {
  return function (o, p) {
    var a, b;
    if (o && p && typeof o === 'object' && typeof p === 'object') {
      a = o[name];
      b = p[name];
      if (a === b) {
        return typeof minor === 'function' ? minor(o, p) : 0;
      }
      if (typeof a === typeof b) {
        return a < b ? -1 : 1;
      }
      return typeof a < typeof b ? -1 : 1;
    } else {
      throw ("error");
    }
  }
}
复制代码

 

 
 
 
 
 
 
posted @   时光独醒  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· 支付宝 IoT 设备入门宝典(下)设备经营篇
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
点击右上角即可分享
微信分享提示