在开发中经常会遇到需要判断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