说明

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. python GIL 全局锁,多核cpu下的多线程性能究竟如何?

    python GIL 全局锁,多核cpu下的多线程性能究竟如何?GIL全称Global Interpreter Lock GIL是什么? 首先需要明确的一点是GIL并不是Python的特性,它是在实现 ...

  2. Codeforces 841B - Godsend

    题目链接:http://codeforces.com/problemset/problem/841/B Leha somehow found an array consisting of n inte ...

  3. [转载]转,Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数

    关于处理小数点位数的几个oracle函数() 1. 取四舍五入的几位小数 select round(1.2345, 3) from dual; 结果:1.235 2. 保留两位小数,只舍 select ...

  4. redis安装--转

    第一部分:安装redis 希望将redis安装到此目录 1 /usr/local/redis 希望将安装包下载到此目录 1 /usr/local/src 那么安装过程指令如下: 1 2 3 4 5 6 ...

  5. amoeba读写分离

    第一单元   高性能mysql读写分离的实现 5.1      mysql读写分离 5.1.1  mysql读写分离概述 5.1.2  mysql读写分离原理 5.2      mysql读写分离配置 ...

  6. 怎样从外网访问内网Node.js?

    本地安装了一个Node.js,只能在局域网内访问,怎样从外网也能访问到本地的Node.js呢?本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Node.js 默认安装的Node.js端口 ...

  7. Django的View

    一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. ...

  8. kivy 滑动

    from kivy.uix.gridlayout import GridLayout from kivy.app import App from kivy.lang.builder import Bu ...

  9. php 获取顶级域名

    /** * 获取顶级域名 * @param $url * @return string */ public static function getDoMain($url){ if(empty($url ...

  10. Spring Boot(十二):spring boot如何测试打包部署

    Spring Boot(十二):spring boot如何测试打包部署 一.开发阶段 1,单元测试 在开发阶段的时候最重要的是单元测试了,springboot对单元测试的支持已经很完善了. (1)在p ...