Javascript怎麼比較兩個數組是否相同?

JS怎麼比較兩個數組是否有徹底相同的元素?
Javascript不能直接用==或者===來判斷兩個數組是否相等,不管是相等仍是全等都不行,如下兩行JS代碼都會返回falsejavascript

<script type="text/javascript">
  alert([]==[]);
  alert([]===[]);
</script>

要判斷JS中的兩個數組是否相同,須要先將數組轉換爲字符串,再做比較。如下兩行代碼將返回truejava

<script type="text/javascript">
  alert([].toString()== [].toString());
  alert([].toString()===[].toString());
</script>

JS要比較兩個數組是否有相同的元素,即兩個數組全部元素都相同,但元素的順序不必定一致。只就須要先將數組進行排序,再比較兩個數組是否相等。數組

試比較如下兩行代碼:spa

<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>
相關文章
相關標籤/搜索