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 相关文章推荐
jQuery EasyUI API 中文文档 - Documentation 文档
Sep 29 Javascript
基于jQuery实现表格的查看修改删除
Aug 01 Javascript
微信小程序实战之自定义抽屉菜单(7)
Apr 18 Javascript
Angularjs中使用轮播图指令swiper
May 30 Javascript
AngularJs每天学习之总体介绍
Aug 07 Javascript
JS库之ParticlesJS使用简介
Sep 12 Javascript
JavaScript中 ES6变量的结构赋值
Jul 10 Javascript
webpack4 处理SCSS的方法示例
Sep 03 Javascript
node实现分片下载的示例代码
Oct 17 Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 Javascript
24个ES6方法解决JS实际开发问题(小结)
May 31 Javascript
JavaScript 绘制饼图的示例
Feb 19 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
一个取得文件扩展名的函数
2006/10/09 PHP
PHP下打开URL地址的几种方法小结
2010/05/16 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
python实现简单的socket server实例
2015/04/29 Python
Python代码解决RenderView窗口not found问题
2016/08/28 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
Python中的self用法详解
2019/08/06 Python
python实现静态服务器
2019/09/05 Python
Python实现大数据收集至excel的思路详解
2020/01/03 Python
python如何控制进程或者线程的个数
2020/10/16 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
数学系个人求职信范文
2014/01/30 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
公司合作意向书范文
2014/07/30 职场文书
个人作风建设心得体会
2014/10/22 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
学生评语集锦
2015/01/04 职场文书
婚礼父母答谢词
2015/01/04 职场文书
检讨书范文2000字
2015/01/28 职场文书
PHP判断是否是json字符串
2021/04/01 PHP