Javascript:在嵌套字典中添加key/value对;键和值是变量

Javascript: Add key/value pairs in nested dict; key and value are variables

我有一个结构如下的字典:

myDict = {key1:{innerKey1:innerValue1, innerKey2:innerValue2}, key2:{},...}

基于: How can I add a key/value pair to a JavaScript object?

我尝试像这样添加内部 key/value 对:

someArray=['foo','bar']
var identifier = someArray[0]
var info = someArray[1]
myDict[key1][identifier] = info;

或者像这样:

myDict[key1].identifier = info;

但是我收到错误 'cannot set property of undefined'。我认为这是由于标识符尚未在 myDict 中定义,但我不知道如何实现:

myDict = {key1:{innerkey1:innerValue1, innerKey2: innerValue2, foo:bar,...}, key2:{},...} 

请注意:我知道在这个例子中变量的赋值是没有必要的。我需要弄清楚一个更大、更复杂的项目的概念,这是最小的 "non-working" 示例。

提前致谢:)

括号表示法要求键是一个字符串:

myDict["key1"][identifier] = info;

或者只使用点符号:

myDict.key1[identifier] = info;

从您的代码片段来看,key1 似乎没有定义。

您还想确保在尝试访问对象之前定义了该对象

someArray=['foo','bar']
var identifier = someArray[0]
var info = someArray[1]
if (!myDict[key1]) myDict[key1] = {};
myDict[key1][identifier] = info;