网站首页 > 技术文章 正文
Array.prototype.sort()
返回值:对数组的引用,注意,sort方法在原数组上进行排序,不生成副本。
说明:用于对数组的元素进行排序,顾名思义就是用来对数组进行排序用的。
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
是不是有点绕,好吧,第一次读的时候我也蒙圈,直接上实例。
function sortwayA(a, b) { return a-b;//如要需要小的排前面,用第一个参数减第二个参数 } function sortwayB(a,b) { return b-a;//大的排前面 } var arr = new Array(6) arr[0] = -10 arr[1] = 5 arr[2] = 40 arr[3] = 25 arr[4] = 1000 arr[5] = 1 arr[6] = -20 document.write(arr.sort()) //输出:-10,-20,1,1000,25,40,5 document.write(arr.sort(sortwayA)+"<br>") //输出:-20,-10,1,5,25,40,1000 document.write(arr.sort(sortwayB)+"<br>") //输出:1000,40,25,5,1,-10,-20
没有参数时候,默认按编码排序,即使是数字,也不会按顺序排序,如果是英文,默认按字母编码排序。
后面两个方面可以简写为:
arr.sort(function(a,b){return a-b}) arr.sort(function(a,b){return b-a})
sort的使用讲解到这里了,有不明白或不对的地方请留言,觉得有用的大家转发一下。
猜你喜欢
- 2025-06-10 前端流式输出(前端流式输出效果)
- 2025-06-10 前端基础进阶(一):内存空间详细图解
- 2025-06-10 JavaScript数组中slice、concat方法真的是深拷贝吗?
- 2025-06-10 Set代替Array去重,实测性能对比(set方法数组去重)
- 2025-06-10 JavaScript去除数组重复元素的几种方法
- 2025-06-10 Vue短文:如何使用v-for反转数组的顺序?
- 2025-06-10 判断变量是否为数组(如何判断某变量是否为数组数据类型)
- 2025-06-10 JavaScript数组剖析(js 数组处理方法)
- 2024-09-30 JavaScript数组_数组方法「二」(二十七)
- 2024-09-30 table组件,前端如何使用table组件打印数组数据
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)