JS中比较两个Object数组是否相等方法实例


Posted in Javascript onNovember 11, 2019

一、问题

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

二、次解决方案

对于比较两个数组次要的方法有如下几种,为什么说是次要解决方案呢?因为它不能真正称之为对两个数组的对比。

1. 把两个数组转化为字符串的形式比较,如下:

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

var a=[1, 2, 3, 4];
var b = a.slice(); 
console.log(a);
console.log(b); console.log(a == b);
console.log(JSON.stringify(a) == JSON.stringify(b));

 

运行结果:

JS中比较两个Object数组是否相等方法实例

2.当两个数组元素类型不同,顺序相同时,用toString()转化为字符串,结果相等;用stringify转化为字符串,结果不相等; 

var a=[1, 2, 3, 4]; 
var b = ['1', 2, 3, 4]; 
console.log(a); 
console.log(b); console.log(a.toString() == b.toString());
console.log(JSON.stringify(a) == JSON.stringify(b));
 

运行结果如下:

JS中比较两个Object数组是否相等方法实例

3. 当两个数组不相同时,先排序,再转化为Json字符串比较,结果相等:

var a = [1, 2, 3, 4]; 
var b = [4, 2, 3, 1]; 
console.log(a.sort()); 
console.log(b.sort());
console.log(JSON.stringify(a.sort()) == JSON.stringify(b.sort()));

运行结果:

JS中比较两个Object数组是否相等方法实例

4.当数组包含Object时,先排序,再进行比较,结果相等:

var a=[{"x":"abc"}, 2, 3, 4]; 
var b = [4, 2, 3, {"x":"abc"}]; 
console.log(a.sort()); 
console.log(b.sort()); console.log(JSON.stringify(a.sort()) == JSON.stringify(b.sort()));

运行结果:

JS中比较两个Object数组是否相等方法实例

从以上可以看出:

1. 如果两个数组元素类型相同,顺序相同时,用stringify转化为字符串后进行比较;

2. 如果两个数组元素类型相同,顺序不相同时,排序后,用stringify转化为字符串再进行比较;

3.两个数组元素类型不同时,用stringify转化为字符串后进行比较,数组不相等;用toString()转化为字符串后进行比较,数组相等;

以上就是本次介绍的全部相关知识点,内容还需要待补充,后期小编会完善相关内容,跟多内容可以在下方的相关文章学习。

Javascript 相关文章推荐
JQuery在光标位置插入内容的实现代码
Jun 18 Javascript
15个款优秀的 jQuery 图片特效插件推荐
Nov 21 Javascript
jQuery实现跨域iframe接口方法调用
Mar 14 Javascript
jquery模拟进度条实现方法
Aug 03 Javascript
JavaScript事件用法浅析
Oct 31 Javascript
Vue.js路由组件vue-router使用方法详解
Dec 02 Javascript
关于Vue Webpack2单元测试示例详解
Aug 14 Javascript
Node.Js中实现端口重用原理详解
May 03 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
Apr 29 Javascript
vue组件内部引入外部js文件的方法
Jan 18 Javascript
JS一次前端面试经历记录
Mar 19 Javascript
原生js实现五子棋游戏
May 28 Javascript
vue把输入框的内容添加到页面的实例讲解
Nov 11 #Javascript
vue与django集成打包的实现方法
Nov 11 #Javascript
微信小程序监听用户登录事件的实现方法
Nov 11 #Javascript
javascript 高级语法之继承的基本使用方法示例
Nov 11 #Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
Nov 11 #jQuery
javascript/jquery实现点击触发事件的方法分析
Nov 11 #jQuery
jquery ajax 请求小技巧实例分析
Nov 11 #jQuery
You might like
分享一下贝贝成长进度的php代码
2012/09/14 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
jquery ui对话框实例代码
2013/05/10 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
简介JavaScript中setUTCSeconds()方法的使用
2015/06/12 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
vue超时计算的组件实例代码
2018/07/09 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
JS实现分页导航效果
2020/02/19 Javascript
python实现二维码扫码自动登录淘宝
2016/12/27 Python
python图书管理系统
2020/04/05 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
Python基础学习之函数方法实例详解
2019/06/18 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
python中类与对象之间的关系详解
2020/12/16 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
英国最受欢迎的手表网站:Watch Shop
2016/10/21 全球购物
意大利奢华内衣制造商:Cosabella
2017/08/29 全球购物
美国在线工具商店:Acme Tools
2018/06/26 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
廉洁自律演讲稿
2014/05/22 职场文书
过程装备与控制工程专业求职信
2014/07/02 职场文书
争做文明公民倡议书
2014/08/29 职场文书
2014年评职称工作总结
2014/11/20 职场文书
春节随笔
2015/08/15 职场文书