现在的位置: 首页 > web前端 > 正文

js中sort排序的原理是什么

2020年07月16日 web前端 ⁄ 共 1122字 ⁄ 字号 评论关闭

  sort()方法用于对数组的元素进行排序,并返回数组。默认排序顺序是根据字符串Unicode码点。


  sort排序原理


  语法:arrayObject.sort(sortby);参数sortby可选。规定排序顺序。必须是函数。


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


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


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


  若a等于b,则返回0。


  若a大于b,则返回一个大于0的值。


  sort排序方法


  例1:我们将创建一个数组,并按字母顺序进行排序:


  <scripttype="text/javascript">


  vararr=newArray(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,Martin


  Adrew,George,James,John,Martin,Thomas


  例2:我们将创建一个数组,并按字母顺序进行排序:


  <scripttype="text/javascript">


  vararr=newArray(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,1


  1,10,1000,25,40,5


  请注意,上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:


  <scripttype="text/javascript">


  functionsortNumber(a,b)


  {


  returna-b


  }


  总之,sort排序原理给大家简单的介绍了一些,希望大家多看看。


  

抱歉!评论已关闭.