当前位置:首页 > 日记 > 正文

如何比较js中两个相等实例代码的JSON对象

如何比较js中两个相等实例代码的JSON对象
在JS前端面试过程中,经常遇到这样的笔试问题。如何比较js中的两个JSON对象相当于实例代码。接下来,萧边需要一点时间整理一下看看。

1。首先准备三种工具方法,以确定它是否是对象类型,不管它是数组还是获取对象的长度。

功能isobj(对象){
返回对象类型(object)= 'object' object.prototype.tostring.call(对象)。ToLowerCase({对象)= =对象};
}
功能ISArray(对象){
返回对象类型(object)= 'object' object.constructor = =阵列;
}
函数长度(对象){
var计数= 0;
对于(对象中的var i)计数+;
返回计数;
}
2。准备两个相同或不同的JSON对象
无功jsonobja = { {
名字:我的名字
公司:我
信息:
{年龄:100 },
{

{高度:100 },
{重量:200 }
}
}
},
地址:马兰山
}
无功jsonobjb = { {
名字:我的名字
公司:我
信息:
{年龄:100 },
{

{高度:100 },
{重量:200 }
}
}
},
地址:马兰二号山
}
三.主要代码

功能比较(obja,objb){
如果(!IsObj(obja)| |!isobj返回false(objb)); / /正确的判断
如果(长度(obja)!=长度(objb))return false; / /判断长度是否一致
返回compareobj(obja,objb,true); / /默认是真的
}
功能compareobj(obja,objb、旗){
对于(在obja VAR键){
如果(国旗!)退出循环
打破;
如果(!objb.hasownproperty(关键)){旗= false;break;}
如果(!(obja ISArray {key})){ / /子级不是数组,比较
如果(objb {key}!= obja {key}){旗= false;break;}
{人}
如果(!(objb ISArray {key})){旗= false;break;}
VaR OA = obja {key},OB = objb {key};
如果(oa.length!=长度){标志=假;破;}
对于(在OA中的VaR K){
如果(国旗!)这是不让循环返回到递归的。
打破;
标志= compareobj(OA { } { } OB K,K,标志);
}
}
}
返回标志;
}
4。调用方法

VaR结果比较(jsonobja,jsonobjb);
console.log(结果); / /真或假

相关文章

在PS图象处理软件自由变换功能详解

在PS图象处理软件自由变换功能详解

变换,图象,详解,处理软件,功能,在PS图象处理软件,自由变换;它是一个制造的有力手段,及其用法的掌握会给工作带来很大的方便。我们都知道在PS中编辑(编辑)是一种变换菜单,子菜单包含缩放、旋转等,适合初学者了解这些菜单倾向于死记硬背的学习,但效果…

PS图象处理软件是如何绘制一个白色

PS图象处理软件是如何绘制一个白色

绘制,咖啡杯,图象,处理软件,白色,ps是最常用的软件,很多人都在做,但是效果不是很好,今天我们来学习用PS做一个咖啡杯。 软件名称:Adobe中国PS图象处理软件6汉化免费版软件大小:107mb更新时间:2013-04-19 1。画一个浅蓝色的背景,在地图上画一个白…

如何使用字符统计功能PPT2007PPT20

如何使用字符统计功能PPT2007PPT20

教程,字符统计,如何使用,功能,电脑软件,对于PPT的制作,如何算在下面的幻灯片的数目字介绍PPT2007采用字数的功能。 PPT2007使用计数的数目字的方法: 首先,让我们打开ppt文件,然后单击在文件的右上角;微软office图标,点击选项,点击后拉。 然后我…

用一切构建自己的文件搜索服务器

用一切构建自己的文件搜索服务器

服务器,文件搜索,自己的,电脑软件,用一切,搜索服务的建立 要建立搜索服务,您需要在网络上的每台计算机上安装所有软件,并安装一个多语言包(包括简体中文),因为一切都是日本软件,默认情况下显示日本界面,运行后很难理解。因此,有必要切换界面简体中…

js操作时间的简要介绍——UNIX时间

js操作时间的简要介绍——UNIX时间

时间戳,操作,简要,时间,电脑软件,知识准备 GMT (Greenwich Mean Time) - Greenwich time.UTC (Universal Time Code) - international coordination time.PST (Pacific Standard Time, Pacific Standard Time). UTC出现的时间比格林尼治…

oracleoradb10g_home1tnslistener

oracleoradb10g_home1tnslistener

服务,无法启动,如何解决,电脑软件,oracleoradb10g_home1tnslistener,可能有三种情况,因为oracleoradb10g_home1tnslistener服务无法启动: 1.listener.ora文件配置错误,无法启动 2。相关的环境变量设置得不好。 三.客户端服务器删除相关注册…

PHP正则表达式中的贪婪与非贪婪

PHP正则表达式中的贪婪与非贪婪

正则表达式,贪婪,与非,电脑软件,PHP,一、贪婪与非贪婪 所谓贪婪,比如说,一到两个从一条面包面包到吃面包,你只能吃面包,但是你贪婪,所以先把两个面包放在里面,你要吃,而不是贪婪,你什么都不吃,只吃一个面包。 让我们看看规范是贪婪的。 面包=面包…

对Oracle或07445evaopn2溶液()+128的

对Oracle或07445evaopn2溶液()+128的

误差,溶液,电脑软件,Oracle,问题描述 PLSQL Developer执行一段SQL错误: 警报记录错误信息的详细信息: ora-07445:例外遇到:核心转储{ evaopn2(+ 128 }){ } { SIGSEGV地址没有映射到对象0x000000000 } { } { } { } 数据库版本 10.2.0.4.0 问题…

告别PS图象处理软件假死现象

告别PS图象处理软件假死现象

假死,图象,处理软件,现象,电脑软件,当我们使用PS图象处理软件CS3 / 4中文版,使用文本层时,经常出现CPU占用100%的情况,系统的提出了假死的状态,如何解决这个问题只需要执行菜单RARR;偏好;打开选项窗口,切换到文本下的删除;;,显示字体选择;亚洲;和字体预…

加强MySQL安全的几点建议

加强MySQL安全的几点建议

几点建议,电脑软件,MySQL,通常我们使用的密码,当我们连接到MySQL服务器。密码是稠密的时候是在网络上传输,但所有其他的内容以明文方式传输。 当然,如果我们关心的是这种不安全感,我们可以使用压缩协议(mysql3.22及以上版本),因此,其他内容不能轻…

Javascript操作符语法的全面概述

Javascript操作符语法的全面概述

语法,操作符,电脑软件,Javascript,在前面的话 Javascript操作大部分的标点符号,少数由关键字表示语法的简洁和全面的数字是真的很多。经营者总是遵循一些固定的语法,只有理解和掌握的内容可以操作被正确使用。本文将介绍Javascript运算符语法概要 操作…

如何photoshopcs5修改背景颜色的入

如何photoshopcs5修改背景颜色的入

修改,背景颜色,入门教程,电脑软件,在PS中,我们有时会看到背景颜色如何变化如何改变以下小编告诉你如何修改背景颜色photoshopcs5,一起学习。 photoshopcs5方法修改背景颜色: 1、启动PS图象处理软件CS5; 2,展开轮流;编辑-首选;点击界面;; 3,下一个…