1. 程式人生 > >JS 比較兩個陣列是否相等 是否擁有相同元素

JS 比較兩個陣列是否相等 是否擁有相同元素

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>