判断两数组是否相等的简洁方法
js不能直接用==或===判断两个数组是否相等,需要将数组转换为字符串后再进行判断。
- 若直接用==或===判断,则返回false 例:
console.log([6,7,8]==[6,7,8]);
console.log([6,7,8]===[6,7,8]);
console.log(["xx","yy","zz"]==["xx","yy","zz"]);
console.log(["xx","yy","zz"]===["xx","yy","zz"]);
- 转换为字符串后再判断,若相等返回true,若不相等,则返回false 例:
console.log([111,222,333].toString()==[111,222,333].toString());
console.log(["xx","yy","zz"].toString()===["xx","yy","zz"].toString());
//相等 返回true
console.log([111,222,333].toString()==[999,222,333].toString());
console.log(["xx","yy","zz"].toString()===["hh","yy","zz"].toString());
//不相等 返回false
- 当数组元素相同,元素顺序不同时,先将两数组进行排序,再判断两数组是否相等 例:
console.log([1,2,3].sort.toString()==[3,1,2].sort.toString());
//先排序再判断
纯属交流学习,若发现漏洞请小伙伴们揪出来哟!