字符串排序(按字母排序)

排序前
var animals = ['dog','cat','tiger','pig','bird'];
排序后
animals = animals.sort();
$('#show6').html(animals.join('<br/>'));bird
cat
dog
pig
tiger

数值排序

排序前
var ar nums = ['12','2','5','36','4'];
排序后
nums = nums.sort();
$('#show8').html(nums.join('<br/>'));12
2
36
4
5

很明显,数值数组最后的排序结果不是我们想要的。这是为什么呢?
因为sort()方法排序,是基于ASCII值进行排序的。故它会认为36小于4(因为3的ASCII值小于4的ASCII值)。所以要对排序的sort()方法定义一个比较函数:

排序前
var nums = ['12','2','5','36','4'];
排序后
//定义了sort的比较函数
nums = nums.sort(function(a,b){return a-b;
});
$('#show8').html(nums.join('<br/>'));2
4
5
12
36

知识点:

sort(function(a,b){return a-b;})对传入的一对值进行比较,然后返回的的值为:小于0,大于0,等于0;(大于0交换位置,反之则不)

  • 当小于0时,说明b>a,故b的排序靠后(即不变).
  • 当大于0时,说明a>b,故a的排序靠后.
  • 当等于0时,说明a=b,故不改变排序.

如果对数值数组的值进行降序排序。那么只要把返回的值改为b-a


举例数值排序方法:

方法一:

var arr = [22,12,3,43,56,47,4];
arr.sort();
arr.sort(function (m, n) {if (m < n) return -1else if (m > n) return 1else return 0
});
console.log(arr); // [3, 4, 12, 22, 43, 47, 56]

方法二:

const arr = [1, 30, 4, 21, 100000];
arr.sort(function(a,b){return a - b;
});
console.log(arr);

jquery 数组sort()排序相关推荐

  1. js数组sort排序原理

    大家都知道javascript的数组有sort排序方法,可以实现升序与降序,现在我们来学习一下sort方法排序的原理冒泡排序. 冒泡排序:拿数组的当前项和后一项比较,如果当前项大于后一项,两者交换位置 ...

  2. 数组——sort排序、reverse倒序

    sort 对数组进行排序,对元素进行排序. 规则:  如果 sort(a, b) 小于0 , a会被排到b之前.              如果 sort(a, b) 等于0 , a和b的相对位置不变 ...

  3. C++ STL函数 结构体数组sort()排序(henu.hjy)

    对于C++中sort()需要加入 #include <algorithm>该头文件 sort(首地址[必填],尾地址[必填],排序cmp函数[选填]) sort对于基本数据类型默认从小到大 ...

  4. 数组sort排序方法,数字从小到大排序,汉字拼音音序排序

    1.直接用默认的sort方法,是按照Unicode排序,可能存在问题 例如:110,11,12=>11,110,12 (110会在12前面) 2.重写数组的sort方法进行数字排序: arr.s ...

  5. Array数组对象sort排序方法

    数组sort排序方法 Array数组对象中的sort方法是根据数组中数组元素的字符编码进行排序的,所以对数字的排序,会跟想要的升序结果不一样 通过设置sort()方法的参数可以按照自定义的排序方式对数 ...

  6. Java—Sort排序

    Java中Sort排序是非常常用的方法,这一章我们主要来认识一下Sort的用法和相关的实现. 一.数组Sort排序 升序排序,直接使用Arrays.Sort方法,例如: int[] array = { ...

  7. Java Sort排序总结

    数组Sort排序 正序排序:Arrays.sort(array),会检查数组个数大于286且连续性好就使用归并排序,若小于32使用插入排序,其余情况使用快速排序 int[] array = {10, ...

  8. js数组的排序 sort详解

    1.简单数组简单排序 <script type="text/javascript">var arrSimple=new Array(1,8,7,6);arrSimple ...

  9. js数组的sort排序详解

    http://www.cnblogs.com/longze/archive/2012/11/27/2791230.html <body> <div> sort()对数组排序,不 ...

最新文章

  1. Google 的自动驾驶车出事故,被人类撞的
  2. R语言t分布函数Student t distribution(dt, pt, qt rt )实战
  3. Mysql判断工作日函数_MySQL函数查找两个日期之间的工作日数
  4. python 表格格式输出_利用python对excel中一列的时间数据更改格式操作
  5. Spring Security 实战干货:自定义配置类入口 WebSecurityConfigurerAdapter
  6. 关于《设计模式演练》系列文章结构的规范
  7. 2020-3-20前端题目
  8. 配置了坐标还是找不到serv_你那么努力,为何还是找不到工作?从优势发展观来看个人职业发展...
  9. 低代码发展专访系列之一:低代码平台产品的使用者都是谁?
  10. 【技术培训】招收Jeecg门徒 ---javaweb初级入门班
  11. OpenStack安装流程(juno版)- 添加镜像服务(glance)
  12. 2021-09-01175. 组合两个表 SQL
  13. matlab安装与下载
  14. 几十个精选壁纸网站,配色网站,字体网站
  15. 大数据解决方案,案例分享
  16. h5优秀控件_7个效果震憾的HTML5应用组件
  17. [AV1] interpolation
  18. 人脸识别系列(六):FaceNet
  19. JAVA记录操作日志步骤
  20. 公众号榜单 | 2020·5月公众号行业排行榜重磅发布

热门文章

  1. Mysql查看慢查询日志
  2. 山东省企业研究开发财政补助政策。
  3. 解决fatal: cannot make .repo/repo directory: Permission denied 问题
  4. Java中next和nextline的区别
  5. 0ctf-2018 heapstorm2详解
  6. 已知液面高度怎么计算圆形管道内液体截面积(圆弧面)的方法成都仪器开发
  7. Visual Studio 修改安装时提示路径访问被拒绝解决方案
  8. excel中输入身份证号不能够完整显示的解决
  9. 笔记本电脑连接上WiFi后,弹不出登录界面怎么办?
  10. Scrapy爬虫方法