- sort()方法用於對數組的元素進行排序。
- 排序順序可以是字母或數字,並按升序或降序。
- 默認排序順序為按字母升序。
- 數字排序(數字和升序):
語法
arr.sort([compareFunction])
參數
在JavaScript中 方括號 里的內容是可選的,可就是compareFunction這個參數是可填可不填的。
compareFunction 是一個函數,用來指定按某種順序進行排列的函數。
如果省略,元素按照轉換為的字符串的各個字符的Unicode位點進行排序。
例子如下:
在數組中的值為number類型時,結果並不是和正常排序一樣,而是字符編碼的出現順序排列的。
var arr = [2, 6, 8, 8, 2, 10] console.log(arr.sort()) //[ 10, 2, 2, 6, 8, 8 ]
compareFunction 函數中接受兩個參數,並有返回值:
firstEl第一個用於比較的元素。
secondEl第二個用於比較的元素。
返回值排序后的數組。請注意,數組已原地排序,並且不進行復制(返回的是原數組,並不是創建的新數組)。
如果指明了 compareFunction,那么數組會按照調用該函數的返回值排序。即 a 和 b 是兩個將要被比較的元素:
如果 a-b>0 ,看成是升序排列 ,從小到大排序;
如果 a-b=0 , a 和 b 的相對位置不變。備注: ECMAScript 標准並不保證這一行為,而且也不是所 有瀏覽器都會遵守(例如 Mozilla 在 2003 年之前的版本);
如果a-b<0 ,看成是降序排列,從大到小排序 。
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>js sort排序是從小到大還是從大到小</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <script type="text/javascript"> var points = [40,100,1,5,25,10]; points.sort(function(a,b){return a-b}); //fruits輸出結果:1,5,10,25,40,100 </script> </body> </html>
參考網站:我愛搗鼓(http://www.woaidaogu.com)