说明

array.sort()用于对数组进行排序,返回数组,方法默认是“升序”排序,原数组会发生改变

简单点:比较函数两个参数a和b,返回a-b升序,返回b-a升序

普通数组(降序)

var arr = [1, 3, 4, 2, 5];

arr.sort(function(a, b){
  return b - a;
});
console.log(arr);
//输出结果[5, 4, 3, 2]

对象数组排序

 var arr = [
  {'sortNo': 2},
  {'sortNo': 6},
  {'sortNo': 7},
  {'sortNo': 4},
]; arr.sort(function(a, b){
  return a.sortNo - b.sortNo;
});
console.log(arr); //输出结果
//{'sortNo': 2}
//{'sortNo': 4}
//{'sortNo': 6}
//{'sortNo': 7}

对象数组多条件排序

var arr = [
  { 'sortNo': 2, 'sortNo2': 3},
  { 'sortNo': 1, 'sortNo2': 1},
  { 'sortNo': 3, 'sortNo2': 4},
  { 'sortNo': 4, 'sortNo2': 2},
  { 'sortNo': 4, 'sortNo2': 5},
]; arr.sort(function(a, b){
  if(a.sortNo === b.sortNo){
    return b.sortNo2 - a.sortNo2;
  }else{
    return a.sortNo - b.sortNo;
  }
});
console.log(arr); //输出结果
//{'sortNo': 1, 'sortNo2': 1}
//{'sortNo': 2, 'sortNo2': 3}
//{'sortNo': 3, 'sortNo2': 4}
//{'sortNo': 4, 'sortNo2': 5}
//{'sortNo': 4, 'sortNo2': 2}

JavaScript的sort方法的更多相关文章

  1. 深入了解javascript的sort方法

    在javascript中,数组对象有一个有趣的方法 sort,它接收一个类型为函数的参数作为排序的依据.这意味着开发者只需要关注如何比较两个值的大小,而不用管“排序”这件事内部是如何实现的.不过了解一 ...

  2. JavaScript中sort方法的一个坑(leetcode 179. Largest Number)

    在做 Largest Number 这道题之前,我对 sort 方法的用法是非常自信的.我很清楚不传比较因子的排序会根据元素字典序(字符串的UNICODE码位点)来排,如果要根据大小排序,需要传入一个 ...

  3. JavaScript 使用 sort() 方法从数值上对数组进行排序

    使用 sort() 方法从数值上对数组进行排序. <html> <body> <script type="text/javascript"> f ...

  4. JavaScript:sort() 方法

    ylbtech-JavaScript:sort() 方法 JavaScript sort() 方法 1. 定义和用法返回顶部 sort() 方法用于对数组的元素进行排序. 语法 arrayObject ...

  5. JavaScript 数组sort方法使用

    直接上例子 1.无参调用返回按unicode字符编码排序 var arr = [1,2,0,21,15,6,34,9,45]; var arrSort = arr.sort(); console.lo ...

  6. 【JavaScript排序】 sort()方法(解决null、undefined、0之间的排序(混乱)问题)

    JavaScript排序 - sort()方法 --解决null.undefined.0之间的排序(混乱)问题 一.普通的数组排序 ​ JavaScript中用方法sort()为数组排序.sort() ...

  7. JavaScript sort() 方法

    定义和用法 sort() 方法用于对数组的元素进行排序. 语法 arrayObject.sort(sortby) 参数 描述 sortby 可选.规定排序顺序.必须是函数. 返回值 对数组的引用.请注 ...

  8. sort方法实际应用详解---javascript中对一个对象数组按照对象某个属性进行排序

    转载: 查看原文 在javascript中,对象和数组是两种不同的类型,这和php中的数组概念不同.在javascript中,也有一些精妙的算法,用来对一些对象进行排序.我在面试迅雷的时候,也拿到一道 ...

  9. javascript sort方法容易犯错的地方

    sort方法用来对数组排序非常方便.但是sort(func)这个func参数的构造却很容易混淆. sort判断func的返回值是判断正负,而不是ture和false.所以务必保证返回值要么负数要么正数 ...

随机推荐

  1. shell脚本和python脚本实现批量ping IP测试

    先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.130.2 192.168.130.3 ...

  2. Linux:CPU使用率100%排查方法

    Linux作为一个多任务操作系统,将每个CPU的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉. CPU使用率 Linux作为一个多任务操作系统,将每个CPU ...

  3. weblogic11,linux字符页面安装

    1.  安装前 1  确定weblogic版本被认证 首先请确认您要安装的Weblogic版本所在的平台已通过了BEA的认证,完整的认证平台列表请参考http://e-docs.bea.com/wls ...

  4. centos7.2 开机启动脚本

    vim ~/.bashrc 然后最后一行添加 source /etc/profile 一.添加开机自启服务 在CentOS 7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例):sys ...

  5. 微信企业号OAuth2.0验证接口来获取成员的身份信息

    <?php $appid = "请输入您企业的appid"; $secret = "请输入您企业的secreat"; if (!isset($_GET[' ...

  6. Golang操作Redis

    在系统环境下实现redis操作必须做好以下准备 一.当前系统必须下载安装redis 二.配置好GOPATH环境变量,并下载GO的redis驱动包 当做好以上准备工作时,紧接着如下 看以下要使用的驱动包 ...

  7. $ORACLE_HOME/rdbms/demo示例安装

    需要手工安装p13390677_112040_Linux-x86-64_6of7.zip,或者win32_11gR2_examples.zip.默认不包含. 从Oracle Database 12c ...

  8. Redhat普通用户如何使用管理员权限

    作为一个普通用户, 很多地方收到权限的控制, 下面展示sudoers大法, 主要就是sudo的问题了. 下面的是我的普通用户lee 还没有授权之前是这样的 开始授权 切换到root用户, 修改sudo ...

  9. 锁(lock)和闩(latch)

    开发多用户.数据库驱动的应用时,最大的难点之一是:一方面要力争取得最大限度的并发访问,与此同时还要确保每个用户能以一致的方式读取和修改数据.为此就有了锁定(locking)机制,这也是所有数据库都具有 ...

  10. python --- 20 约束 异常处理 MD5 日志

    一.类的约束 1.抛出异常    NotImplementedError 2.抽象方法 含有抽象方法的类是抽象类 抽象类中的方法全是抽象方法的是接口 抽象类不能创建对象 二.异常处理 处理完后代码可继 ...