// 内容是否有修改

// true:未改变;false:改变了

isChange() {

if(this.Compare(this.dialog.detail.form, this.dialog.detail.oldForm)){

console.log('未改变');

}else{

console.log('改变');

}

return this.Compare(this.dialog.detail.form, this.dialog.detail.oldForm);

},

/**************************************比较json-start***************************************/

isObj(object) {

return object && typeof(object) == 'object' && Object.prototype.toString.call(object).toLowerCase() == "[object object]";

},

isArray(object) {

return object && typeof(object) == 'object' && object.constructor == Array;

},

getLength(object) {

var count = 0;

for(var i in object) count++;

return count;

},

CompareObj(objA, objB, flag) {

for(var key in objA) {

if(!flag) //跳出整个循环

break;

if(!objB.hasOwnProperty(key)) {

flag = false;

break;

}

if(!this.isArray(objA[key])) { //子级不是数组时,比较属性值

if(objB[key] != objA[key]) {

flag = false;

break;

}

} else {

if(!this.isArray(objB[key])) {

flag = false;

break;

}

var oA = objA[key],

oB = objB[key];

if(oA.length != oB.length) {

flag = false;

break;

}

for(var k in oA) {

if(!flag) //这里跳出循环是为了不让递归继续

break;

flag = this.CompareObj(oA[k], oB[k], flag);

}

}

}

return flag;

},

Compare(objA, objB) {

if(!this.isObj(objA) || !this.isObj(objB)) return false; //判断类型是否正确

if(this.getLength(objA) != this.getLength(objB)) return false; //判断长度是否一致

return this.CompareObj(objA, objB, true); //默认为true

},

/**************************************比较json-end***************************************/

vue 判断两对象是否一致_vue - 比较两个Json对象是否相等相关推荐

  1. 利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题

    利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题 参考文章: (1)利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题 ( ...

  2. vue 判断页面加载完成_Vue实战040:nprogress页面加载进度条

    前言 很多时候在访问网页的时候我们总是看到页面在加载中,可以却不知道要加载多久,无期限的等待总是让人烦躁不安,所以我们希望能知道网页加载的进度,这样我们就能做到心中有数是否继续等待页面加载.这个功能我 ...

  3. Web前台传对象字符串到后台并让后台反序列化对象字符串的方法(ASP.NET) json对象和字符串的转换

    从零开始做了两个月多一点的.NET开发,期间经常遇到需要从Web前台传数据给后台处理的情况.比如下面(用了jQuery的Ajax Post),这里为了演示方便没有对参数进行encodeURICompo ...

  4. Spring Boot 项目中Java对象的字符串类型属性值转换为JSON对象的布尔类型键值的解决方法及过程

    文章目录 场景描述 示例说明 解决历程 @JsonFormat是否能解决问题? 万能方案-调试 替代方案 补充知识 Java对象与JSON对象的序列化与反序列化 相关注解说明 后记 场景描述 在Spr ...

  5. html页面json转成对象吗,将HTML表单转换为JSON对象

    我想将HTML表单转换为JSON对象.表单基本上包含两个部分,标题和细节.标题部分包含一些HTML输入框,而详细信息部分是表格.我的表单的虚拟视图如下.将HTML表单转换为JSON对象 \t \t \ ...

  6. php json输出对象的属性值,JavaScript_jquery动态遍历Json对象的属性和值的方法,1、遍历 json 对象的属性/ - phpStudy...

    jquery动态遍历Json对象的属性和值的方法 1.遍历 json 对象的属性 //定义json对象 var person= { name: 'zhangsan', pass: '123', fn: ...

  7. vue 判断页面加载完成_vue项目搭建及总结

    一.vue的两种安装方式 (1)直接在html中引入vue.js (2)通过vue+nodeJS搭建 我们采用的是第二种方式 二.vue和nodeJS的关系 (1)nodeJS不是一个js框架,是一个 ...

  8. vue 判断页面加载完成_vue之骨架屏踩坑之路

    vue的首屏优化方式有很多种 骨架屏就是其中之一 作为一个前端开发 用户体验感是很重要的 关于页面的loading状态的展示,目前主流的主要有loading图和进度条两种 现今使用骨架屏的也越来越多 ...

  9. vue 判断字符串是否是英文_vue rules以及原生js判断字符串是否为正整数(正小数)...

    1.在vue中 使用rules形式进行校验 1.首先在vue文件的methods()中添加校验方法,这里校验方法命名为isNumber用自带的.test方法进行正则校验 methods: { isNu ...

最新文章

  1. windows pxe 安装linux,菜鸟学Linux 第103篇笔记 pxe自动化安装linux
  2. 以一致的体验交付和管理云原生多集群应用
  3. swift语言 数组定义_Swift3中数组创建方法
  4. pythonsocket数据对接_python socket通信 网站之间数据交流
  5. [SQL Native Client] 命名管道提供程序:无法打开与 Sql Server 的连接[2]
  6. TD-SCDMA迫零块线性均衡
  7. 最全的熬粥方法Word计算机考试怎么做,各种粥的做法大全Word文档.doc
  8. 创业日志(三十)华东华南之10天7市行
  9. Unity之引导功能遮罩事件穿透
  10. 文件指纹修改工具 Hash Modifier
  11. untiy 怎么把物体显示在最上层
  12. 政府大数据的资源库建设
  13. mysql 服务_mysql的服务
  14. 第八篇:读《反脆弱》
  15. 解决Redis分布式锁业务代码超时致使锁失效问题
  16. C# WPF 为Word右键添加自定义菜单项
  17. 网易杭州研究中心总监吴云洋离职 在公司10年
  18. 华为C8800真机测试如何打开logcat
  19. 制作unity大世界场景编辑的一点心得和注意事项(场景地编)
  20. Python的selenium自动化项目实例

热门文章

  1. 为链接加上加载等待信息
  2. 在linux系统下挂接(mount)光盘镜像文件、移动硬盘、U盘以及Windows网络共享和UNIX...
  3. Golang 主机字节序的判断
  4. Web前端开发初学者十问集锦(4)
  5. linux通过rpm和yum安装包
  6. 2015年蓝桥杯省赛A组c++第4题
  7. 高性能ORM 框架之 MySqlSugar
  8. Little Kings - SGU 223(状态压缩)
  9. Openssl verify命令
  10. 第十一节:Springboot整合log4j2日志