vue对象深拷贝_Vue 对数据对象实现深拷贝赋值
在日常的Vue开发工作中,我们经常对请求来的数据进行变量赋值操作,再用变量去进行数据渲染。 然而我们知道,我们经常用的赋值方式 “=” 实际上属于数据的浅拷贝,也就是当你改变赋值变量时,原数据也会发生相应变化。var a = ['1', '2', '3', '4', '5'];
var b = a;
b[0] = '2';
console.log(a); // ['2', '2', '3', '4', '5']
console.log(b); // ['2', '2', '3', '4', '5']
//因为b浅拷贝a, ab指向同一个内存地址(堆内存中存的值)
那当我们需要改变变量的值但是不改变原来数据的时候,我们可以借助JSON方法来实现数据的深拷贝赋值:JSON.parse(JSON.stringify(this.responseData));
e.g:let data1 = this.selectform.keyList
let data2 = JSON.parse(JSON.stringify(this.selectform.keyList))
data1.a = 'test'
console.log(data1.a) // test
console.log(this.selectform.keyList.a) // test
data2.a = 'test222'
console.log(keydata2.a) // test222
console.log(this.selectform.keyList.a) // test
*附深浅拷贝示意图:
浅拷贝:
深拷贝:
vue对象深拷贝_Vue 对数据对象实现深拷贝赋值相关推荐
- vue 字典配置_vue遍历数据及字典的方法
数组:数值 {{ item.message }} 数组:数值加索引 {{ item.msg }} {{index}} 字典:key value index {{ value }} {{key}} {{ ...
- 我的KT库之----数据对象
了解或者认识KT: http://www.cnblogs.com/kingthy/archive/2011/08/08/2130973.html 在项目中如何使用KT? KT是一个库,所以将KT的dl ...
- 简述oracle的主要数据库对象,Oracle数据库数据对象分析
Oracle数据库数据对象分析 Oracle数据库数据对象中最基本的是表和视图,其他还有约束.序列.函数.存储过程.包.触发器等.对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数 ...
- 数据对象、属性和相似性
文章目录 数据对象.属性和相似性 数据对象 属性 属性类型 数据对象相似性.相异性 数据对象.属性和相似性 数据对象 别名:样本.实例.数据点 或 对象 一般使用属性对应属性值来描述数据对象 哈士奇: ...
- Redis教程:数据对象分析(一)
目录 1 五种基本数据对象 2 数据结构对象分析 2.1 类型 2.2 编码与底层实现 2.3 编码转换 1 五种基本数据对象 图1 redis数据对象 2 数据结构对象分析 Redis中的每个对象都 ...
- ORACLE 常用的SQL语法和数据对象
一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSE ...
- 数据库:数据类型、数据项、数据元素、数据对象、数据结构的概念与相互之间的关系
一.数据类型 概念:一个值的集合和定义在这个值集上一组操作的的总称. (一个值的集合怎么理解呢,比如在C语言中,char类型数据范围是:-127~128,.而一组操作可以理解为类型所支持的操作方式,比 ...
- 什么事数据对象以及属性分为什么类型?
数据对象与属性类型 数据集由数据对象组成.一个数据对象代表一个实体.例如,在销售数据库中,对象可以是顾客.商品或销售;在医疗数据库中,对象可以是患者;在大学的数据库中,对象可以是学生.教授和课程. ...
- 服务数据对象简介(Java 环境中的下一代数据编程)
如果您认为 J2EE 编程模型和 API 迫使开发人员在特定于技术的配置.编程和调试上浪费了太多的时间,那么欢迎您阅读本文.很多 Java™ 开发人员都怀疑如何能以统一的方式访问异构的数据,并对各种提 ...
最新文章
- 实用的人工智能 但数据 Python 速查表
- 2018 icpc 徐州现场赛G-树上差分+组合数学-大佬的代码
- 关于ES、PES、PS以及TS码流
- 风险平价策略python代码_风险平价组合(risk parity)理论与实践
- beta冲刺(1/7)
- ios uiview 如何刷新_2020最新迅雷苹果版如何下载?
- Spring-MetadataReader接口
- http代码_ssssssss 0.0.1 发布,无需代码的 HTTP 接口快速开发框架
- 小米手机MIUI刷机教程(小米6等)
- spring定时器的简单实用
- 基于k8s的CICD实现
- Java实现特征保持的图像加密算法
- 计算机专业学生如何规划好大学四年的学习
- 采用神经网络进行城市中长期负荷预测的一种信息系统
- HTTPS(三)之JAVA 不校验HTTPS服务器证书
- linux查询数据库归档日志,关于 Oracle 归档日志
- Python——提取复数类型的数组的的实数部分和虚数部分
- Direct3D11学习经历分享
- win10+ubuntu双系统之三步彻底删除ubuntu系统
- 翻译Houdini官方文档:PDG教程之HDA处理器
热门文章
- 【客户下单】后台系统匹配分区关键字实现自动分单
- c语言图形界代码,求个用最简单的的代码来实现图形界面…
- java arrays.equals_Java Arrays类的常见使用
- android中11种常见传感器的使用方法
- 最优化——线性规划中最大规划和最小规划之间的转换
- python apscheduler 阻塞方式只用一个线程_框架APScheduler在python中调度使用的实例详解...
- php tcp封包,tcp调试神器:wireshark
- java神剑30变_改动对比 - 神剑养成(一) (MengSword1) - MC百科|最大的Minecraft中文MOD百科...
- exit()、_Exit() 和 _exit() 函数的区别和联系
- 山东管理学院计算机专业在哪个校区,2019年山东管理学院新生在哪个校区及新生开学报到时间...