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;
我有一个结构如下的字典:
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;