Javascript怎么比較兩個數組是否相同?
JS怎么比較兩個數組是否有完全相同的元素?
Javascript不能直接用==或者===來判斷兩個數組是否相等,無論是相等還是全等都不行,以下兩行JS代碼都會返回false
<script type="text/javascript"> alert([]==[]); alert([]===[]); </script>
要判斷JS中的兩個數組是否相同,需要先將數組轉換為字符串,再作比較。以下兩行代碼將返回true
<script type="text/javascript"> alert([].toString()== [].toString()); alert([].toString()===[].toString()); </script>
JS要比較兩個數組是否有相同的元素,即兩個數組所有元素都相同,但元素的順序不一定一致。只就需要先將數組進行排序,再比較兩個數組是否相等。
試比較以下兩行代碼:
<script type="text/javascript"> alert([1,2,3].toString()== [3,2,1].toString()); alert([1,2,3].sort().toString()== [3,2,1].sort().toString()); </script>