如何在不使用javascript更改第一个对象的情况下在现有对象中追加值?

时间:2017-11-14 08:50:08

标签: javascript jquery object

我的javascript代码如下:

c = Category.objects.create(name='category test')
c.save()

演示是这样的:https://jsfiddle.net/oscar11/69dw8dv1/

我在对象中追加值

console.log(data)和console.log(dataNew)的结果是存在id

我希望var data is no id

因此只有var dataNew具有id

我该怎么做?

1 个答案:

答案 0 :(得分:3)

在JavaScript中,除非对象是原始数据类型,否则将分配对象引用而不是对象值。

这就是为什么dataNewdata在执行此操作时引用同一个对象的原因:

var dataNew = data;

为防止这种情况发生,您需要创建data的副本,如下所示:

var dataNew = Object.assign({}, data);

现在,dataNew中的更改不会影响data