我的 JavaScript 代码是这样的:
var data= {product_id: 4, name: 'nike'}
console.log(data)
var dataNew = data
dataNew.id = 1
console.log(dataNew)
演示是这样的:https://jsfiddle.net/oscar11/69dw8dv1/
我像这样在对象中附加值
console.log(data)和console.log(dataNew)的结果是否存在id
我想要 var 数据没有 id
所以只有 var dataNew 有 id
我该怎么做?
最佳答案
在 JavaScript 中,除非对象是原始数据类型,否则会分配对象引用,而不是对象值。
这就是为什么当您执行此操作时 dataNew
和 data
引用同一个对象:
var dataNew = data;
为了防止这种情况,您需要创建数据
的副本,如下所示:
var dataNew = Object.assign({}, data);
现在,dataNew
中的更改不会影响 data
。
关于javascript - 如何在现有对象中附加值而不用javascript更改第一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47281280/