在開發中經常會遇到需要判斷2個值是否相等的場景,那怎么判斷數組是否相等呢?
我們先來看下下面的代碼
console.log([]==[]); // false
console.log([]===[]); // false
是不是很出乎意料的結果,因為JavaScript里面Array是對象,或=操作符只能比較兩個對象是否是同一個實例,也就是是否是同一個對象引用。目前JavaScript沒有內置的操作符判斷對象的內容是否相同,而判斷兩個字符串相等是可以的。
JS 判斷兩個數組是否相同
首先需要對數組進行排序,然后轉換成字符換進行比較
JSON.stringify([6,8,9].sort()) === JSON.stringify([9,8,6].sort()); //true
或者
[6,8,9].sort().toString() === [9,8,6].sort().toString(); //true