我有一个对象,它的一些元素也是对象。如何使我的变量只是一个对象?
我的意思是我有一个包含元素的变量:
- 姓名
- 类型
类型是一个具有字段的对象:
- 姓名
所以我认为:
- 姓名
- type.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/