複製代碼代碼如下:
<html>
<head>
<title>陣列的sort()方法</title>
<script>
/*
sort()
1.沒有產生副本,直接引用原數組
2.如果呼叫該方法時沒有使用參數,將依字母順序對數組中的元素進行排序,
說得更精確點,是按照字元編碼的順序進行排序。
要實現這一點,首先應把數組的元素都轉換成字串(如有必要),以便進行比較。
3.如果想依照其他標準排序,就需要提供比較函數,函數要比較兩個值,
然後傳回一個用於說明這兩個值的相對順序的數字。
比較函數應該有兩個參數a 和b,其傳回值如下:
若a 小於b,在排序後的陣列中a 應該出現在b 之前,則傳回一個小於0 的值。
若a 等於b,則回傳0。
若a 大於b,則傳回大於0 的值。
*/
var arr = [2,4,8,1,22,3];
var arrSort= arr.sort();//沒有正確排序,陣列先轉換為字串,然後再排序
document.write("預設的排序數組為:" + arrSort);//1,2,22,3,4,8
document.write("<br/>");
//比較函數
function mysort(a,b){
return ab;
}
var arrSort2 = arr.sort(mysort);//傳入比較函數
document.write("傳入比較參數的陣列為:" + arrSort2);//正確排序
document.write("<br/>");
document.write("原數組為:" + arr);
</script>
</head>
<body>
<div id="time"></div>
</body>
</html>