【发布时间】:2021-06-17 19:33:34
【问题描述】:
在我的打字稿应用程序中,我的 config.json 格式如下:
EventFilters": [
{
"Name": "AppLaunch",
"Version": "2"
},
{
"Name": "messageDisplayed",
"Version": "2"
},
{
"ID": "40021",
"Version": "2"
}
]
现在,在我的 .ts 文件中,我想读取这些键值对,我正在使用以下代码:
[![let eventfilters: Object\[\] = this.getEventFilters(); // this method reads the event filters from the config, as shown in the image
let keys: Object\[\];
for (let i: number = 0; i < eventfilters.length; i++) {
keys = Object.keys(eventfilters\[i\]);
for (let j: number = 0; j < keys.length; j++) {
if(eventfilters\[i\]\[keys\[j\]\] === \[/*Parameter 2 to compare*/\]){
//do something
}
}
}]
我正在尝试使用以下“eventfilters[i][keys[j]]”比较“if”语句中的值。但是,它会抛出以下错误“类型'对象'不能用作索引类型。”。
但是,当我在浏览器控制台中使用以下语句时,它会返回键的值,'eventfilters[0][0]'
并且由于 typescript 和 ecmascript 的版本,我无法使用以下内容:
Object.values(eventfilters[i]); 或者 Object.entries(eventfilters[i]);
对这个冗长的问题表示歉意,并提前致谢。
【问题讨论】:
标签: javascript typescript ecmascript-6 key-value