JavaScript中sort方法分析
来源:互联网 发布:淘宝海选报名 编辑:程序博客网 时间:2024/05/16 08:31
在JavaScript中,sort方法并不像Java一样对数值进行比较,而是按字符的编码顺序进行比较。当然,也可以传入一个函数,以达到需求。
定义和用法
sort() 方法用于对数组的元素进行排序。
语法
arrayObject.sort(sortby)
参数 描述 sortby可选。规定排序顺序。必须是函数。返回值
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
说明
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
实例
例子 1
在本例中,我们将创建一个数组,并按字母顺序进行排序:
<script type="text/javascript">var arr = new Array(6)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"arr[3] = "James"arr[4] = "Adrew"arr[5] = "Martin"document.write(arr + "<br />")document.write(arr.sort()
)</script>
输出:
George,John,Thomas,James,Adrew,MartinAdrew,George,James,John,Martin,Thomas
亲自试一试
例子 2
在本例中,我们将创建一个数组,并按字母顺序进行排序:
<script type="text/javascript">var arr = new Array(6)arr[0] = "10"arr[1] = "5"arr[2] = "40"arr[3] = "25"arr[4] = "1000"arr[5] = "1"document.write(arr + "<br />")document.write(arr.sort()
)</script>
输出:
10,5,40,25,1000,11,10,1000,25,40,5
请注意,上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:
<script type="text/javascript">function sortNumber(a,b){return a - b}var arr = new Array(6)arr[0] = "10"arr[1] = "5"arr[2] = "40"arr[3] = "25"arr[4] = "1000"arr[5] = "1"document.write(arr + "<br />")document.write(arr.sort(sortNumber)
)</script>
输出:
10,5,40,25,1000,11,5,10,25,40,1000
亲自试一试
定义和用法
sort() 方法用于对数组的元素进行排序。
语法
arrayObject.sort(sortby)
返回值
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
说明
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
实例
例子 1
在本例中,我们将创建一个数组,并按字母顺序进行排序:
<script type="text/javascript">var arr = new Array(6)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"arr[3] = "James"arr[4] = "Adrew"arr[5] = "Martin"document.write(arr + "<br />")document.write(arr.sort()
)</script>
输出:
George,John,Thomas,James,Adrew,MartinAdrew,George,James,John,Martin,Thomas
亲自试一试
例子 2
在本例中,我们将创建一个数组,并按字母顺序进行排序:
<script type="text/javascript">var arr = new Array(6)arr[0] = "10"arr[1] = "5"arr[2] = "40"arr[3] = "25"arr[4] = "1000"arr[5] = "1"document.write(arr + "<br />")document.write(arr.sort()
)</script>
输出:
10,5,40,25,1000,11,10,1000,25,40,5
请注意,上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:
<script type="text/javascript">function sortNumber(a,b){return a - b}var arr = new Array(6)arr[0] = "10"arr[1] = "5"arr[2] = "40"arr[3] = "25"arr[4] = "1000"arr[5] = "1"document.write(arr + "<br />")document.write(arr.sort(sortNumber)
)</script>
输出:
10,5,40,25,1000,11,5,10,25,40,1000
亲自试一试
阅读全文
0 0
- JavaScript中sort方法分析
- JavaScript sort方法分析。
- javascript 中 Array.sort()方法
- javascript中Array.sort()方法
- javascript中sort方法排序
- javascript中数组的sort()方法
- [ javascript ] js中array的sort()方法!
- javascript中数组排序方法sort()用法
- JavaScript中sort()排序方法使用
- Collections中sort()和Arrays中的sort方法分析
- Javascript数组(array) sort方法的解释和分析
- javascript中的sort()方法
- JavaScript sort() 方法
- javascript中的sort()方法
- JavaScript sort() 方法
- JavaScript sort()方法总结
- JavaScript sort() 方法详解
- JavaScript sort() 方法
- BZOJ1231 [Usaco2008 Nov]mixup2 混乱的奶牛
- PowerDesigner 的反向工程
- 制作SSL证书-keytool命令
- CentOS Linux 从终端启动
- ss 命令
- JavaScript中sort方法分析
- 写给自己的JAVA工程师之路-网络体系结构
- Vmware vSphere(一)安装vSphere client 以及 ubuntu
- OneToOne annotation 双向关联
- Vmware vSphere(二)常见问题汇总
- Hibernate 双向关联
- 微信、支付宝、百度钱包实现网页关闭
- JS常用正则表达式
- A序言