JavaScript學習 5.2.5 重排序方法

今天學習JavaScript數組中已經存在的兩個重排序方法:
(1)reverse()(2)sort()
讓我們先看一下這兩個方法的名字,英語好的小朋友大概已經知道
第一個方法的作用了吧,沒錯,這個方法會反轉數組項的順序。
而第二個方法在沒有參數傳進來的時候,會默認調用數組中
每一項的toString()轉型方法,然後比較得到的字符串,以確定如何排序。
具體用法看下面的代碼。

<script type="text/javascript">
	//reverse()方法
	var values = [1, 2, 3, 4, 5, 6];
	values.reverse();
	//可以看到輸出的結果是6, 5, 4, 3, 2, 1
	alert(values);

	//sort()方法
	var arrayOne = [1, 20, 15, 5];
             arrayOne.sort();
	/*輸出的結果是1, 15, 20, 5
	   因爲sort()方法在沒有參數傳遞進來的時候
	   會默認的調用數組每一項的toString()方法
	   所以會出現上面的結果*/
	alert(arrayOne);

	/*現在我們來定義一個比較函數compare()
	  比較函數接受兩個參數,如果第一個參數應該
	  位於第二個參數之後則返回一個負數;如果兩個參數
	  相等,則返回零;如果第一個參數應該位於第二個參數之前,
	  則返回一個正數。*/

	  function compareOne(value1, value2){
	  	if(value1 < value2){
	  		return -1;
	  	}
	  	else if(value1 > value2){
	  		return 1;
	  	}
	  	else{
	  		return 0;
	  	}
	  }

	/* 然後我們把這個函數作爲一個參數傳遞給sort()方法
	   看一下比較的結果*/
	   var arrayTwo = [15, 5, 20, 1];
	  arrayTwo.sort(compareOne);
	   //可以看到輸出的結果是1, 5, 15, 20
	  alert(arrayTwo);

	  /*對於數值類型,或者其valueOf()方法會返回數值類型的對象,
	    可以使用一個更簡單的比較函數,如下所示。*/

	    function compareTwo(value1, value2){
	    	return value1 - value2;
	    }
</script>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章