打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
js判断两个数组相等的5种方法实例
userphoto

2024.01.18 湖南

关注
更新时间:2022年05月06日 15:16:12   作者:祥&宇
再最近的一次实际项目开发中,又遇到了需要对两个数组内容进行比较的需求,索性整理下,这篇文章主要给大家介绍了关于js判断两个数组相等的5种方法,需要的朋友可以参考下
目录
前言
一、 toString()
二、join()
三、 JSON.stringify()
四、sort()
五、filter()
总结 
前言
在 js 中是不能直接用 == 或者 === 来比较两个数组是否相等,那就需要对数组的值进行比较。
下面各种方法,要根据具体情况来使用。
一、 toString()
当两个数组元素类型相同,顺序相同时,直接判断是否相等,结果不相等;转化为字符串后,结果相等
1
2
[1,2,3].toString() === [1, 2, 3].toString(); // true
[1,2,3].toString() === ['1', 2, 3].toString(); // true
二、join()
1
[1,2,3,'4'].join() === [1,2,3, 4].join(); // true
三、 JSON.stringify()
1
JSON.stringify([{name:'许善祥'},{sex:'男'}]) == JSON.stringify([{name:'许善祥'},{sex:'男'}]); // true
四、sort()
当两个数组元素排序不相同时,先排序,再比较。如果是对象数组,可以结合 JSON.stringify 来使用。
1
2
3
4
5
6
var a = ['1', '3', '2'];
var b = ['3', '1', '2'];
var c = a.length === b.length && a.sort().toString() === b.sort().toString();
console.log(c); // true
五、filter()
1
2
3
4
5
6
var a = ['1', '3', '2'];
var b = ['3', '1', '2'];
var c = a.length === b.length && a.filter(t => !b.includes(t));
console.log(c); // true
filter() 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
语法:
array.filter(function(currentValue,index,arr), thisValue);
附:JS要比较两个数组是否有相同的元素,即两个数组所有元素都相同,但元素的顺序不一定一致。
只就需要先将数组进行排序,再比较两个数组是否相等。
试比较以下两行代码:
1
2
3
4
<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>
总结
到此这篇关于js判断两个数组相等的文章就介绍到这了,更多相关js判断数组相等内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
js 类型转换引起的问题
javascript 一 03 数据类型的转换
js中数组,对象,json区别
JS操作JSON总结
JSON的自定义序列化和解析
JSON.stringify 语法实例讲解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服