我正在努力在 javascript 中创建动态嵌套键。我的问题是我需要一个这样的对象
{
"grandGrandFather": 'A',
"firstGrandFather": {
name: "AA",
children: {
first: 'AAA',
children: {
first: "AAAA"
}
}
},
"secondGrandFather": {
name: "AB",
first: 'ABA',
children: {
first: "ABAA",
second: "ABAB"
}
}
},
"thirdGrandFather": {
name: "AC",
children: {
name: "ACA"
}
}
}
这里的问题是我需要从某个地方获取这些数据并且我需要动态地创建这些值。 Prop 创作从第一层开始,一直到第四层。所以我的问题是如何在 JS 中创建动态键。我也知道你可以像这样在 JS 中创建动态键:
var obj = {
prop1: "a",
prop2: "b",
prop3:'c'
}
obj['prop4'] = 'd';
此外,我已经成功地创建了一个关卡 Prop ,但是当我需要堆叠这些 Prop 时,我感到很困惑,我们将不胜感激。
关于上述对象的更多细节
在我创建的上述对象中,我从数据库中获取数据,我需要动态添加firstGrandFather、secondGrandFather、thirdGrandFather。我也不知道我需要定义的他们的 child Prop 会在对象中。有些可能有 配偶、年龄、工作 Prop ,有些可能没有,我也不知道我会得到多少。这些会持续一两个级别。
在 php 中很容易在关联数组中创建这些,但我在 JS 中很难做到这一点。
最佳答案
动态键在 ES6+ 中是可能的 Docs here
基本上,语法是:
obj[variable] = value;
变量必须包含原始值。
至于堆栈,恐怕您必须习惯使用点或括号表示法进行深度键访问。您还可以将对象的属性分配给变量,然后访问它的 Prop 。 因此,如果 obj 是您示例中的对象:
const firstGrandfathersChildren = obj.firstGrandFather.children
它将分配以下内容:
{
first: 'AAA',
children: {
first: "AAAA"
}
}
关于javascript - 在对象中创建动态键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53460072/