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>
相关文章
相关标签/搜索