数组排序sort()

Posted 前端问题记录

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组排序sort()相关的知识,希望对你有一定的参考价值。

数组排序sort()

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">
  var myarr1 = new Array("Hello","John","love","JavaScript"); 
  var myarr2 = new Array("80","16","50","6","100","1");
  document.write(myarr1.sort()+"<br>");
  document.write(myarr2.sort());
</script>

运行结果:

Hello,JavaScript,John,love
1,100,16,50,6,80

注意:上面的代码没有按照数值的大小对数字进行排序。

2.如要实现这一点,就必须使用一个排序函数,代码如下:

<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 + "<br>");
  document.write(myarr.sort(sortNum));
</script>

运行结果:

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

以上是关于数组排序sort()的主要内容,如果未能解决你的问题,请参考以下文章

js sort() 数字排序 不太理解

JavaScript数字数组怎么按数字大小排序?

设计一个一维数组的排序函数p_sort,并调用它对10个整数进行排序。p_sort函数原型如下:

Java:使用sort方法对整个数组或部分数组进行排序的问题

不使用 sort 方法对数组进行字母排序

js sort 数组中包含数组怎么排序