我正在尝试动态地向obj添加一个键,但我一直收到错误“无法设置未定义的属性” 但在了解这些属性之前,我无法对这些属性进行decalre。我希望它们作为该对象的键动态添加。
var dict = {}
objectarray.forEach((item: Obj) => {
this.dict[item.ID] = "xyz";
});
根据How do I add a property to a Javascript Object using a variable as the name?,似乎可以通过使用obj [name] = value动态地向对象添加属性。
我错过了什么吗?有什么帮助吗?
答案 0 :(得分:4)
删除this
中的this.dict
,你应该是金色的!
var dict = {}
objectarray.forEach((item: Obj) => {
dict[item.ID] = "xyz";
});
如果没有看到更多的代码,很难说this
在这种情况下意味着什么,但很可能它是窗口对象,所以你所说的基本上是window.dict[item.ID] = "xyz"
。由于窗口上没有dict
属性,它会像那样爆炸。
答案 1 :(得分:0)
@ Oskar的回答是正确的。
这是一个更详细的代码示例;
new RegExp(/^((0[1-9]|[12][0-9]|3[01])(\/)(0[13578]|1[02]))|((0[1-9]|[12][0-9])(\/)(02))|((0[1-9]|[12][0-9]|3[0])(\/)(0[469]|11))(\/)\d{4}$/)