js數組中的reverse()方法


reverse方法是將數組中的元素的順序進行反轉,在原數組上操作,然后返回原數組。由於本人是學習js的新人,對reverse函數進行了幾個小實驗,以下實驗均在Chrome瀏覽器上運行

實驗一:reverse方法能否用於undefined與null上

實驗代碼如下:

 1 <script type="text/javascript">
 2          var foo=function  () {
 3             var c=null;
 4             var d=undefined;
 5             //reverse方法測試代碼
 6             console.log(c.reverse());//報錯
 7             console.log(d.reverse());//報錯
 8          }
 9          foo();
10 </script>

 

如果將代碼改成如下所示:

 1 <script type="text/javascript">
 2          var foo=function  () {
 3             var c=[null];
 4             var d=[undefined];
 5             //reverse方法測試代碼
 6             console.log(c.reverse());//[null]
 7             console.log(d.reverse());[undefined]
 8          }
 9          foo();
10 </script>

結論:reverse方法不能再null與undefined上運行

 

 

實驗二:空數組上運行reverse方法得出什么樣的結果

實驗代碼如下:

1 var e=[];
2 console.log(e.reverse());//[]

結論:輸出空數組

 

 

實驗三:reverse方法返回數組本身相關實驗

實驗代碼如下:

 1 <script type="text/javascript">
 2          var foo=function  () {
 3             var b=[false,undefined,null];
 4             //reverse方法測試代碼
 5             var b_reverse_result=b.reverse();
 6             console.log(b);//[null,undefined,false]
 7             console.log(b_reverse_result);//[null,undefined,false]
 8          }
 9          foo();
10 </script>

 

結果分析:由於b數組執行reverse方法之后返回的是b數組元素反轉之后的順序,而b_reverse_result與b指向是同一個數組,所以二者輸出結果都是b數組反轉之后的結果。

 

實驗代碼如下:

 1 <script type="text/javascript">
 2          var foo=function  () {
 3             var b=[false,undefined,null];
 4             //reverse方法測試代碼
 5             console.log(b.reverse());//[null, undefined, false]
 6             var b_reverse_result=b.reverse();
 7             console.log(b_reverse_result);//[false, undefined, null]
 8             console.log(b);//[false,undefined,null]
 9          }
10          foo();
11 </script>

 結論:reverse方法在數組自身上操作,而且b與b_reverse_result確實代表了同一個數組。


免責聲明!

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



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