“意外标记d”时试图将对象添加到Javascript对象阵列
问题描述:
我有内hotKeyService
如下一个空对象:“意外标记d”时试图将对象添加到Javascript对象阵列
{hotKeys: [
]
}
欲对象的负载添加到该阵列中,以得到形式的最终结果是:
{hotKeys: [
"demoBtn1":{
keyCode: 49,
keyShortcut: "1",
label: "button"
},
"demoBtn2":{
keyCode: 50,
keyShortcut: "2",
label: "button"
},
]
}
目前我的代码是:
hotKeyService.hotKeys.push(attrs.id);
var arrayRow = hotKeyService.hotKeys.length - 1;
var currentObj = JSON.parse(hotKeyService.hotKeys[arrayRow]);
currentObj.keyCode = attrs.keyCode;
currentObj.keyShortcut = attrs.keyShortcut;
currentObj.label = attrs.label;
点在哪里我尝试和解析JSON为currentObj
,我收到错误。如果我不解析,我得到一个Cannot assign to read only property 'keyCode' of demoBtn1
错误,我读的是因为对象需要解析。
如何填充对象,因为我期待?
感谢
答
数组没有“钥匙”(他们有寿道具,但是这是不可能的)。我相信你想用{}
而不是[]
。
答
阵列由值的列表的:
[ foo, bar, baz ]
不是一系列关键的:值对(这是为对象):
{ a: foo, b: bar, c: baz }
在数组的值就可以了,当然,成为对象:
[ { foo: {} }, { bar: {} }, { baz: {} } ]