博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组排序sort()
阅读量:6678 次
发布时间:2019-06-25

本文共 1432 字,大约阅读时间需要 4 分钟。

sort()方法使数组中的元素按照一定的顺序排列。

语法:

arrayObject.sort(方法函数)

1.如果不指定<方法函数>,则按unicode码顺序排列。

2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。

myArray.sort(sortMethod);

注意: 该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下: 

  若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。

  若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
  若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。

1.使用sort()将数组进行排序,代码如下:

<script type="text/javascript">

function sortNum(a,b) {  return a - b; //升序,如降序,把“a - b”该成“b - a”} var myarr = new Array("80","16","50","6","100","1");  document.write(myarr + "
"); document.write(myarr.sort(sortNum));

运行结果:

80,16,50,6,100,11,6,16,50,80,100

"80","16","50","6","100","1"

return a-b;
80-16=64; 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。 其实就像排队一样,个子小的往前站,小的数字代表矮个子
排序结果:16,80,50,6,100,1
80-50=30 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
排序结果:16,50,80,6,100,1 接着拿16跟50比较大小,而不是80与6比较
16-50=-34 若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
排序结果:16,50,80,6,100,1 程序接着运行
80-6=74 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
排序结果:16,50,6,80,100,1
50-6=44 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
排序结果:16,6,50,80,100,1
16-6=10 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
排序结果:6,16,50,80,100,1
80之前的排队完成,80接着跟后面的比个子高低
80-100=-20 若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。 找到了比自己个子高的,就不用比了
排序结果:6,16,50,80,100,1
100-1=99 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
排序结果:6,16,50,80,1,100
80-1=79
排序结果:6,16,50,1,80,100
50-1=49
排序结果:6,16,1,50,80,100
16-1=15
排序结果:6,1,16,50,80,100
6-1=5
排序结果:1,6,16,50,80,100
排序完成,输出结果,即100,80,50,16,6,1

转载于:https://www.cnblogs.com/he-qiang/p/5542894.html

你可能感兴趣的文章
面试题解 | 创建最大数
查看>>
蚂蚁金服SOFAMesh在多语言上的实践 | CNUTCon 实录
查看>>
读Zepto源码之Fx模块
查看>>
蚂蚁双11的这群筑梦师
查看>>
彻底搞懂HTTPS的加密机制
查看>>
使用jstack确认saiku报表刷新缓存无法访问问题
查看>>
2018,一个转行程序员的成长 | 掘金年度征文
查看>>
[Android]后端之路--整合SSM(Spring+SpringMVC+MyBatis)框架(2)
查看>>
深入理解虚拟机之类文件结构
查看>>
深入Spring Boot--使用Arthas排查应用404/401问题
查看>>
从路由原理出发,深入阅读理解react-router 4.0的源码
查看>>
0707 - iTips v0.0.1
查看>>
ConstraintLayout 属性详解 和Chain的使用
查看>>
java基础(三) 加强型for循环与Iterator
查看>>
ReactNaive之CSS和Flex布局
查看>>
ES6-import 和 export
查看>>
[Day 2] 听说你没来 JSConf 2017?
查看>>
JavaScript实现背景颜色随时间变化
查看>>
Spring第四篇【Intellij idea环境下、Struts2和Spring整合】
查看>>
前端面试 | 掘金技术征文
查看>>