首页 > 原创文章 > 软件开发 > 查看文章

Javascript复制对象改变原值的解决办法

所属分类:软件开发 来源: 丁老师原创 更新时间:2024-05-25 10:50 浏览: 6013 IP属地: 深圳

在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:

let old={
    "a":1,
    "b":2
}
let new=old;
new['c']=3;

这个时候你会发现,不但new的c=3,old也有了c=3的键值,这个问题是怎么回事呢?

其实我们不必纠结为什么,知道怎么解决就可以了,用下边的方法:

let new=Object.assign({},old);

这样写,就不会影响原对象,完美解决!

标签:

相关文章

C++为什么不能在未命名的结构上调用成员函数...

int main() { auto hello= struct { int test() { return 1; } }().test(); }有初学C++的小伙伴提问,在运行C++代码时报错,错误提示如下:<source :2:...

Mui的toast修改位置居中

mui的toast默认是在底部的,并且没有参数设置位置,经过研究发现可以通过修改css的方式设置位置,具体方法如下:1.mui toast设置type为divmui.toast('hello', { type: '...

FastAdmin btn-dialog按钮...

fastadmin里自定义按钮的btn-dialog,弹出窗口时默认大小,设置了data-area无效,经过研究后,发现了可用的方法,直接上代码不废话:table.on('post-body.bs.table',func...

使用Visual Studio开发C#程序时...

我们都知道Visual Studio的自动完成功能,可以在开发时,自动提示补充语法、参数等信息,可以方便的协助我们来开发程序,但是有同学发现,在使用VS开发C#程序时,编辑器的自动完成功能很不好用,要么是在正常输入代码时,突然出现提示,...

推荐文章

性价比最高的内网穿透方案

内网穿透,是指外网可以访问内网,没有固定IP的服务器,所以需要中间件来进行通讯,目前稳定成熟的中间件软件,要么价格太贵,要么就是只能使用标准服务,不能完全的定制化。那么,到底有没有一个性价比最优的方案呢?回答是肯定的,答案就是使用云服务器+...

如何删除idea软件搜索时的find mas...

在使用idea系列的配套软件时,如intellij idea、Php Storm、Web Strom时,在搜索文件时,右上角的file mask可以筛选指定类型的文件。但是有时候可能会输入错误,产生多个记录,而且没办法删除,在以后的开发中经...

CodeIgniter框架URL如果去掉in...

在使用PHP框架CI时,有个很恶心的地方就是他的URL需要带上index.php,比如我要建一个user模块,想要实现www.xxx.com/user/的效果,但是在CI框架下必须要www.xxx.com/index.php/user这样才...

微信小程序开发生成普通二维码打开小程序的方法

在开发微信小程序的过程中,生成的是带有logo的小程序二维码,并且这个二维码不是通用的二维码,而是只能用微信打开的专属二维码,如图:遇到这样一个需求,生成的二维码要方形的通用二维码,并且不能带有小程序的logo。这种该怎么实现呢?经过查询,...