使对象中的对象成为一个对象javascript

Make object of objects one object javascript

本文关键字:对象 一个对象 javascript      更新时间:2023-09-26

我有一个对象,它的一些元素也是对象。如何使我的变量仅为一个对象?

我的意思是,我有一个包含元素的变量:

  • 名称
  • 类型

类型是一个具有字段的对象:

  • 名称

所以我认为:

  • 名称
  • 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'],我想这对您想要实现的目标来说是可以的。。。

附言:在应用到实时项目之前进行广泛的测试,等等。我想很多事情都可能出错,这取决于你使用的对象。在您想要的情况下使用它应该没有问题,尽管

var o = {
  "name": "my_name",
  "type.name": "type's name"
}

说真的,什么?你到底想要什么?

function IAmAUselessHack(o) {
  o["type.name"] = o.type.name;
}