克隆JavaScript对象的最有效方法是什么?我已经看到obj = eval(uneval(o));被使用,但这是非标准的,只有Firefox支持.
我做过类似的事情,obj = JSON.parse(JSON.stringify(o));但质疑效率.
我也看到了具有各种缺陷的递归复制功能.
我很惊讶没有规范的解决方案.
function setup() {
var names = [];
var name = {firstname: "", lastname: ""};
name.firstname = "John";
name.lastname = "Doe";
names.push(name);
name.firstname = "Bill";
name.lastname = "Smith";
names.push(name);
return names;
}
var temp = setup();
print temp[0].firstname;
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚如何从函数返回一个对象数组.知道我哪里错了吗?
问题是存储的结果temp如下:
[
{
firstname: "Bill",
lastname: "Smith"
},
{
firstname: "Bill",
lastname: "Smith"
}
]
Run Code Online (Sandbox Code Playgroud)