本文是用typescript写的,跟普通js查不多,稍改造即可
单字段排序

dest.sort(this.getCompareFun(attr1, attr2, orderby));

getCompareFun(attr1, sort) {return function (o, p) {let a, b;if (typeof o === "object" && typeof p === "object" && o && p) {a = o[attr1];b = p[attr1];if (sort == 'asc') {let result = a < b ? -1 : 1;return result;} else {let result = a > b ? -1 : 1;return result;}}else {throw ("error");}}}

多字段排序:

 getCompareFun(attr1, attr2, sort) {return function (o, p) {let a, b;if (typeof o === "object" && typeof p === "object" && o && p) {a = o[attr1];b = p[attr1];if (a === b) {//相同时,按原始顺序升序排列,即Index顺序升序a = o[attr2];b = p[attr2];}if (sort == 'asc') {let result = a < b ? -1 : 1;return result;} else {let result = a > b ? -1 : 1;return result;}}else {throw ("error");}}}

【js】js 对象数组排序相关推荐

  1. JS中对象按属性排序(冒泡排序)

    原文地址 https://www.cnblogs.com/it-Ren/p/10898947.html 一路向北√ 越努力,越幸运. JS中对象按属性排序(冒泡排序) 冒泡排序:它重复地走访过要排序的 ...

  2. JS的对象与内置对象详细介绍

    感谢内容提供者:金牛区吴迪软件开发工作室 文章目录 前言 一.基本对象Object: 二.内置对象之Array: 三.内置对象之Math: 四.内置对象之Number: 五.内置对象之String: ...

  3. js空对象undefined

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>js空 ...

  4. js空对象undefined测试

    代码示例: <!DOCTYPE html> <html><head><meta charset="UTF-8"><title& ...

  5. Node.js 全局对象

    Node.js 全局对象 在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 gl ...

  6. 分支结构||分支循环结构||使用原生js遍历对象

    分支循环结构 分支结构 v-show的原理:控制元素样式是否显示 display:none <!DOCTYPE html> <html lang="en"> ...

  7. 对象的内置属性和js的对象之父Object()

    js中对象有constructor,valueOf(),toString()等内置属性和方法; 创建一个空对象的方法: var o = {}; 或者 var o= new Object(); o.co ...

  8. 【推荐】JS面象对象编程视频教程

    一.JS面象对象编程(上) 二.JS面象对象编程(中) 三.JS面象对象编程(下) 转载于:https://www.cnblogs.com/artwl/archive/2011/07/24/21155 ...

  9. js ajax传对象数组参数,JS传递对象数组为参数给后端,后端获取

    JS传递对象数组为参数给后端,后端获取. 前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; ...

  10. 30.Node.js 全局对象

    转自:http://www.runoob.com/nodejs/nodejs-module-system.html 学习要点:  - __filename  - __dirname  - setTim ...

最新文章

  1. TCP和UDP DNS DHCP OSPF的五种包:
  2. input上传文件夹第二次时删除第一次_Web端非常有用的一个文件上传插件——FilePond...
  3. 配置ISA Server 2006 ×××使用户轻松连接内网
  4. Hibernate HQL的update方法详解
  5. jquery send(data) 对data的处理
  6. webstorm 左侧文件目录树(不显示,怎么办?) - 设置篇
  7. 【计算机网络】——初识计算机网络
  8. [Ext JS] Grid 的复选框行选择之——某些行不能选取
  9. angular乱码_号外!Angular 中文文档已同步翻译至 7.0
  10. android布局及其常用属性
  11. 蓝桥杯安慰奶牛java_最小生成树——安慰奶牛(蓝桥杯试题集)
  12. centos 中如何将python更新到最新的版本
  13. whl的文件怎么用python打开_windows - 如何使用.whl文件安装Python包?
  14. http://www.boobooke.com/bbs/thread-10284-1-1.html
  15. 局域网络连接的计算机不全,大神教你win7局域网内可以看到对方计算机但无法连接的办法?...
  16. Choerodon猪齿鱼实践之开发应用服务
  17. ExtJS4 时间在edge中显示为0NaN-NaN-NaN NaN:NaN
  18. 【数字电路】期末不挂科复习笔记
  19. C语言实现简单的五子棋
  20. python exec 返回值_Python exec()用法及代码示例

热门文章

  1. phpcms 更换模板的具体操作方法
  2. 《习惯的力量》一书核心总结
  3. Opengl的一些常用功能理解
  4. 前端必备14款业界受欢迎的富文本编辑器
  5. redis未授权访问漏洞环境搭建复现-ssh免密登录
  6. 人工智能与深度神经网络,人工智能人工神经网络
  7. 【设计模式】观察者模式:一个注册功能也能使用到设计模式?
  8. 文献阅读---优化RNA-seq研究设计以挖掘除草剂耐药性(综述)
  9. 从手工测试转型web自动化测试继而转型成专门做自动化测试的学习路线
  10. 谐云课堂 | 一文详解分布式改造理论与实战