JS對象 數組排序sort() sort()方法使數組中的元素按照一定的順序排列。 語法: arrayObject.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

任務

1. 補充右邊編輯器第8行,完成降序排列函數。

2. 補充右邊編輯器第11行,使用sort()方法,進行數組降序列排列,並輸出。


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array對象 </title>
<script type="text/javascript">
   function sortNum(a,b) {
        return b-a;
   }
var myarr = new Array("80","16","50","6","100","1");
document.write(myarr.sort(sortNum));
</script>
</head>
<body>
</body>
</html>





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM