7 javascript arrays extract object
在PHP中有一个方法extract
,它完全按照我想要的方式执行.假设我有一个看起来像这样的对象:
var data = {
name: "Olly"
age: 19
};
Run Code Online (Sandbox Code Playgroud)
我想运行一个类似的方法extract(data)
,然后我可以通过使用name
and age
而不是data.name
和来访问该对象中的属性data.age
.
我做了一些谷歌搜索,找不到任何东西.
你可以使用这样的东西:
function myTestFunction() {
var data = {
name: "Olly",
age: 19,
};
for (var key in data) {
this[key] = data[key];
}
alert(name +" is "+ age +"!");
}
myTestFunction();
Run Code Online (Sandbox Code Playgroud)
(试试这里:http://jsfiddle.net/dHDxd/3/)
甚至可以通过使用将它们导出到全局命名空间window[key] = data[key]
.无论如何,要非常小心,因为破坏全局命名空间/覆盖其他东西等的风险非常高.
extract()
function extract(data, where) {
for (var key in data) {
where[key] = data[key];
}
}
function runTest() {
var myData = { name: "Olly", age: 19, };
extract(myData, this);
alert(name +" is "+ age +"!");
}
runTest();
Run Code Online (Sandbox Code Playgroud)