【发布时间】:2019-07-10 15:58:19
【问题描述】:
我想动态创建一个嵌套对象。我可以硬编码创建它。是否可以通过循环来做到这一点?
result = {}
keys = ["a", "b", "c", "d"]
result[keys[0]] = {}
result[keys[0]][keys[1]] = {}
result[keys[0]][keys[1]][keys[2]] = {}
result[keys[0]][keys[1]][keys[2]][keys[3]] = "cool"
我想传递一个整数,例如如果它是“3”,这应该创建一个像这样的对象:
result = {
"a": {
"b": {
"c": "cool"
}
}
}
如果是4,:
result = {
"a": {
"b": {
"c": {
"d": "cool"
}
}
}
}
等等……
编辑:
我也在检查结果对象,以创建这个嵌套结构。如果还没有任何字段,我只需创建对象。
使用此结构对数据进行分组。 有机会动态检查这些吗?
if (!result[keys[0]])
if (!result[keys[0]][keys[1]])
if (!result[keys[0]][keys[1]][keys[2]])
【问题讨论】:
-
keys是否包含正确数量的输入(如果输入为 5)? -
您可以使用递归来做到这一点,并将迭代的索引与其字母表示映射。
-
@depperm 获取密钥作为此函数的参数。将来可能会改变。这就是为什么我正在寻找动态解决方案。您基本上可以使用 keys.length 来确定。
-
你有什么问题?你问如何在javascript中使用for循环?
-
@appleapple 是的,
标签: javascript loops object