js判断两个数组相等的5种方法


Posted in Javascript onMay 06, 2022

前言

在 js 中是不能直接用 == 或者 === 来比较两个数组是否相等,那就需要对数组的值进行比较。

下面各种方法,要根据具体情况来使用。

一、 toString()

当两个数组元素类型相同,顺序相同时,直接判断是否相等,结果不相等;转化为字符串后,结果相等

[1,2,3].toString() === [1, 2, 3].toString(); // true
[1,2,3].toString() === ['1', 2, 3].toString(); // true

二、join()

[1,2,3,'4'].join() === [1,2,3, 4].join(); // true

三、 JSON.stringify()

JSON.stringify([{name:'许善祥'},{sex:'男'}]) == JSON.stringify([{name:'许善祥'},{sex:'男'}]); // true

四、sort()

当两个数组元素排序不相同时,先排序,再比较。如果是对象数组,可以结合 JSON.stringify 来使用。

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()

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要比较两个数组是否有相同的元素,即两个数组所有元素都相同,但元素的顺序不一定一致。

只就需要先将数组进行排序,再比较两个数组是否相等。

试比较以下两行代码:

<script type="text/javascript">
        alert([1,2,3].toString()== [3,2,1].toString());
        alert([1,2,3].<strong>sort</strong>().toString()== [3,2,1].<strong>sort</strong>().toString());
</script>

总结 

到此这篇关于js判断两个数组相等的文章就介绍到这了,更多相关js判断数组相等内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Javascript 相关文章推荐
让任务管理器中的CPU跳舞的js代码
Nov 01 Javascript
js统计页面的来访次数实现代码
May 09 Javascript
js实现多图左右切换功能
Aug 04 Javascript
微信js-sdk界面操作接口用法示例
Oct 12 Javascript
canvas 实现中国象棋
Feb 17 Javascript
微信小程序 图片宽高自适应详解
May 11 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
激动人心的 Angular HttpClient的源码解析
Jul 10 Javascript
删除table表格行的实例讲解
Sep 21 Javascript
Angular中支持SCSS的方法
Nov 18 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
May 03 Javascript
js实现简单掷骰子效果
Oct 24 Javascript
vue使用watch监听属性变化
Apr 30 #Vue.js
vue-cli3.x配置全局的scss的时候报错问题及解决
vue项目如何打包之项目打包优化(让打包的js文件变小)
关于vue-router-link选择样式设置
Apr 30 #Vue.js
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
Apr 30 #Vue.js
解决vue自定义组件@click点击失效问题
Apr 30 #Vue.js
Vue操作Storage本地化存储
Apr 29 #Vue.js
You might like
php 中的str_replace 函数总结
2007/04/27 PHP
浅析iis7.5安装配置php环境
2015/05/10 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
jQuery实现跨域
2015/02/03 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
2015/03/30 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
对Layer UI 模块化的用法详解
2019/09/26 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
django使用html模板减少代码代码解析
2017/12/12 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
天游软件面试
2013/11/23 面试题
新领导上任欢迎词
2014/01/13 职场文书
农村党支部先进事迹
2014/01/14 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
志愿者活动总结范文
2014/04/26 职场文书
网络营销计划
2015/01/17 职场文书
不同意离婚上诉状
2015/05/23 职场文书
2016年情人节问候语
2015/11/11 职场文书
MySQL基于索引的压力测试的实现
2021/11/07 MySQL