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 相关文章推荐
上传的js验证(图片/文件的扩展名)
Apr 25 Javascript
教你在heroku云平台上部署Node.js应用
Jul 30 Javascript
JavaScript AJAX之惰性载入函数
Aug 27 Javascript
Lab.js初次使用笔记
Feb 28 Javascript
jquery图形密码实现方法
Mar 11 Javascript
理解js对象继承的N种模式
Jan 25 Javascript
微信小程序 详解Page中data数据操作和函数调用
Jan 12 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
Feb 27 Javascript
基于JavaScript实现简单的音频播放功能
Jan 07 Javascript
JS实现多物体运动的方法详解
Jan 23 Javascript
小程序如何构建骨架屏
May 29 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
Mar 11 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 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
PHP 命令行参数详解及应用
2011/05/18 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
php ios推送(代码)
2013/07/01 PHP
实用的简单PHP分页集合包括使用方法
2013/10/21 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
2017/04/28 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
React Hooks 实现和由来以及解决的问题详解
2020/01/17 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
2016/07/12 Python
python 异常处理总结
2016/10/18 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
解决pandas 作图无法显示中文的问题
2018/05/24 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
Python爬取YY评级分数并保存数据实现过程解析
2020/06/01 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
英国图书音像网站:Hive.co.uk(图书、电子书、DVD、蓝光、音乐CD等)
2017/10/16 全球购物
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
2019年.net常见面试问题
2012/02/12 面试题
自动化专业个人求职信范文
2013/12/30 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
詹天佑教学反思
2014/04/30 职场文书