我有一个对象,它的某些元素也是对象。如何使我的变量只是一个对象?
我的意思是我有一个包含元素的变量:
名称
类型
type是具有字段的对象:
名称
所以我一个:
名称
type.name(不是作为对象,而是像name这样的另一个变量)
PS:
当我使用Firebug检查变量时:
name
"fsfaf"
password
"242342425"
name
"XXX"
type
Object { name="sds"}
name
"sfs"
假设我将其保存为变量
myVariable
。我想做这样的事情:var newVariable = somefunction(myVariable);
所以我的newVariable应该是这样的:
name
"fsfaf"
password
"242342425"
name
"XXX"
type.name
"sds"
name
"sfs"
最佳答案
我也编辑了答案。这是您想要做的一种方式:
var myVar =
{
name: 'myName',
type: { name: 'type.name' }
}
function varToNewVar(myVar)
{
var newVar = {};
for(var i in myVar)
{
if(typeof myVar[i] === 'object')
{
for(var j in myVar[i])
{
newVar[i+'.'+j] = myVar[i][j];
}
}
else
newVar[i] = myVar[i];
}
return newVar;
}
var newVar = varToNewVar(myVar);
但是,通过这种方式,您无法访问newVar.type.name,可以访问newVar ['type.name'],我想您可以完成此操作...
附言在申请进行中的项目等之前,先进行大量测试。我想根据您所使用的对象,很多事情都会出错。虽然在您想要的情况下使用它应该没有问题
关于javascript - 使对象成为一个对象javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7953266/