克隆JavaScript对象的最有效方法是什么?我已经看到obj = eval(uneval(o));被使用,但这是非标准的,只有Firefox支持.
我做过类似的事情,obj = JSON.parse(JSON.stringify(o));但质疑效率.
我也看到了具有各种缺陷的递归复制功能.
我很惊讶没有规范的解决方案.
我有一个对象,x.我想把它复制为对象y,这样改变y就不要修改了x.我意识到复制从内置JavaScript对象派生的对象将导致额外的,不需要的属性.这不是问题,因为我正在复制我自己的一个文字构造的对象.
如何正确克隆JavaScript对象?
有人能用一个例子告诉我Javascript对象和JSON对象之间的区别吗?
一些柴它不工作的原因
promise = doSomething()
expect(promise).to.eventually.equal(obj)
expect(promise).to.eventually.deep.equal(obj)
Run Code Online (Sandbox Code Playgroud)
但在断言错误中我得到了这个
AssertionError: expected {a: "2", b: "3"} to equal {a: "2", b: "3"}
顺便说一句,我已经尝试过should并且得到了相同的结果