vue 判断两对象是否一致_vue - 比较两个Json对象是否相等
// 内容是否有修改
// 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对象是否相等相关推荐
- 利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题
利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题 参考文章: (1)利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题 ( ...
- vue 判断页面加载完成_Vue实战040:nprogress页面加载进度条
前言 很多时候在访问网页的时候我们总是看到页面在加载中,可以却不知道要加载多久,无期限的等待总是让人烦躁不安,所以我们希望能知道网页加载的进度,这样我们就能做到心中有数是否继续等待页面加载.这个功能我 ...
- Web前台传对象字符串到后台并让后台反序列化对象字符串的方法(ASP.NET) json对象和字符串的转换
从零开始做了两个月多一点的.NET开发,期间经常遇到需要从Web前台传数据给后台处理的情况.比如下面(用了jQuery的Ajax Post),这里为了演示方便没有对参数进行encodeURICompo ...
- Spring Boot 项目中Java对象的字符串类型属性值转换为JSON对象的布尔类型键值的解决方法及过程
文章目录 场景描述 示例说明 解决历程 @JsonFormat是否能解决问题? 万能方案-调试 替代方案 补充知识 Java对象与JSON对象的序列化与反序列化 相关注解说明 后记 场景描述 在Spr ...
- html页面json转成对象吗,将HTML表单转换为JSON对象
我想将HTML表单转换为JSON对象.表单基本上包含两个部分,标题和细节.标题部分包含一些HTML输入框,而详细信息部分是表格.我的表单的虚拟视图如下.将HTML表单转换为JSON对象 \t \t \ ...
- php json输出对象的属性值,JavaScript_jquery动态遍历Json对象的属性和值的方法,1、遍历 json 对象的属性/ - phpStudy...
jquery动态遍历Json对象的属性和值的方法 1.遍历 json 对象的属性 //定义json对象 var person= { name: 'zhangsan', pass: '123', fn: ...
- vue 判断页面加载完成_vue项目搭建及总结
一.vue的两种安装方式 (1)直接在html中引入vue.js (2)通过vue+nodeJS搭建 我们采用的是第二种方式 二.vue和nodeJS的关系 (1)nodeJS不是一个js框架,是一个 ...
- vue 判断页面加载完成_vue之骨架屏踩坑之路
vue的首屏优化方式有很多种 骨架屏就是其中之一 作为一个前端开发 用户体验感是很重要的 关于页面的loading状态的展示,目前主流的主要有loading图和进度条两种 现今使用骨架屏的也越来越多 ...
- vue 判断字符串是否是英文_vue rules以及原生js判断字符串是否为正整数(正小数)...
1.在vue中 使用rules形式进行校验 1.首先在vue文件的methods()中添加校验方法,这里校验方法命名为isNumber用自带的.test方法进行正则校验 methods: { isNu ...
最新文章
- windows pxe 安装linux,菜鸟学Linux 第103篇笔记 pxe自动化安装linux
- 以一致的体验交付和管理云原生多集群应用
- swift语言 数组定义_Swift3中数组创建方法
- pythonsocket数据对接_python socket通信 网站之间数据交流
- [SQL Native Client] 命名管道提供程序:无法打开与 Sql Server 的连接[2]
- TD-SCDMA迫零块线性均衡
- 最全的熬粥方法Word计算机考试怎么做,各种粥的做法大全Word文档.doc
- 创业日志(三十)华东华南之10天7市行
- Unity之引导功能遮罩事件穿透
- 文件指纹修改工具 Hash Modifier
- untiy 怎么把物体显示在最上层
- 政府大数据的资源库建设
- mysql 服务_mysql的服务
- 第八篇:读《反脆弱》
- 解决Redis分布式锁业务代码超时致使锁失效问题
- C# WPF 为Word右键添加自定义菜单项
- 网易杭州研究中心总监吴云洋离职 在公司10年
- 华为C8800真机测试如何打开logcat
- 制作unity大世界场景编辑的一点心得和注意事项(场景地编)
- Python的selenium自动化项目实例