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

标签 javascript arrays object

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

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

  • 姓名
  • 类型

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

  • 姓名

所以我认为:

  • 姓名
  • 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/

相关文章:

php - 将键值对的 PHP 数组转换为分层嵌套树结构

c# - 从父类(super class)转换为子类

javascript - 如何从 JavaScript 对象呈现 HTML 中的嵌套列表?

javascript - 对于 Prisma Client 连接查询,是否可以将深度嵌套的字段移动到结果的顶层?

java - 在 Java 中解析 JavaScript 代码以检索变量的名称

javascript - 在 JavaScript 中将字符串转换为数组

javascript - 遍历 JavaScript 对象 - 我错过了什么?

Javascript - 在数组中查找最频繁的数字,即使有两个

javascript - 构造函数也可以称为函数表达式吗?

arrays - 转置满足条件的行中的值