专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

前端javaScript开发:Array数组的Sort()排序方法讲解

ins518 2024-09-30 21:28:07 技术文章 20 ℃ 0 评论
Bash
Array.prototype.sort()

返回值:对数组的引用,注意,sort方法在原数组上进行排序,不生成副本。

说明:用于对数组的元素进行排序,顾名思义就是用来对数组进行排序用的。

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。

是不是有点绕,好吧,第一次读的时候我也蒙圈,直接上实例。

Bash
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

没有参数时候,默认按编码排序,即使是数字,也不会按顺序排序,如果是英文,默认按字母编码排序。

后面两个方面可以简写为:

Bash
arr.sort(function(a,b){return a-b})
arr.sort(function(a,b){return b-a})

sort的使用讲解到这里了,有不明白或不对的地方请留言,觉得有用的大家转发一下。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表