我有一个对象“a”并希望将其复制到“b” 当我删除“a”中的元素时,为什么“b”也受到影响?
var a = {'apple':1,'orange':2,'grapes':3}
var b = a
console.log(a,b)
delete b.apple
console.log(a,b)
现在a和b是一样的。我只希望删除b中的元素。 我怎么能这样做
答案 0 :(得分:0)
javascript中的对象和数组是引用。所以当你这样做时:
var b = a;
你正在制作另一个指向对象a
的指针。你没有复制a
。
如果您想制作一个对象的副本,可以使用Object.create
:
var b = Object.create(a);