• sort()方法用于对数组的元素进行排序。
  • 排序顺序可以是字母或数字,并按升序或降序。
  • 默认排序顺序为按字母升序。
  • 数字排序(数字和升序):

语法
arr.sort([compareFunction])

参数
在JavaScript中 方括号 里的内容是可选的,可就是compareFuf 9 7 c + / a + ;nct\ T . eion这个参数是可填可不填的。
cp C : K y , t QompareFunction 是一个函数,用来指定按某种顺序进行排列的函数。
如果省略,元素按照转换为的字符串的各个字符t g s A v )的Unicode位点进行排序。
例子如下:
在数组中的值为number类型时,结果并不是和正常排序一样,而是字符编码的出现顺序排列的。

var arr = [2, 6, 8, 8, 2, 10]
console.log(arr.sort()) //[ 10, 2, 2, 6, 8, 8 ]

compareFunction 函数中接受两个参数,并有返回值:

firstE% c T r S b U Al第/ a m ~ ! ~ x 5 i一个用于比较的元素。
secondEl第二个用于比较的元素。
返回值排序后的数组。请注意,数组已原地排序,并且不进行复制(返回的是原数组,并不是创建的新数组)。

如果指明了 compareFunct5 w x O # & ] 7 %ion,那么数组会按3 Y *照调用该函数的返回值排序。即 a 和 b 是两个将要被比较的元素:

如果 a-b>0 ,看成是升序排列 ,从小到大排序;
如果 a-b=0 , a 和 b 的相对位置不变。备注: ECMAScript 标准并不保证这一行为,而且也不是所 有浏览器都会遵守(例如 Mozilla 在 2003 年之前的版本);
如果a-b<% ? ] \ ` W S0 ,看成是降序排列,从P 7 C , :大到小排序 。

&W y 2 } X 6 g =lt;!DOCTYPE html>] \ T 2;
<U , T J { M j 1 5;html xmlns="http://www.w3.org/1999/xh& 5 ctml"G R - 7 { X q G>
<head>
<title>js sort排序是从小到大还是从大到小</title>
&lX Q \ T pt;meta http-equiv="Content-TR 8 ` Nype" content="text/html; charset=utf-8">
</head>
<body>
<s3 i b 9 hcript type="text/javascript"Q 9 k 8 ) 0 ;>
var points = [40,100,1,5,25,10];
points.sorL q A 7 _ ~ 2 kt(function(a,b){return a-b});
//fruits) O p j $ ?输出结果:1,5,10,25,, D D ; 6 d \ h40,100
</script>
</body>
</html>

  参考网站:我爱捣鼓(http://\ % r k I v ] p Rwww.woaidaogu.com)

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注