【发布时间】:2020-04-15 10:52:57
【问题描述】:
我有一个接口FilterData,如下所示:
export interface FilterData {
variables?: string[];
processDefinitionKey?: string;
}
在对服务器的请求中,我收到了 filterSettings 类型的对象 FilterData,我需要对其进行迭代。
这就是我现在正在做的事情:
for (const key in filterSettings) {
filterString += `${key}_eq_${filterSettings[key]},`;
}
但我收到以下错误:
元素隐含地具有“任何”类型,因为类型的表达式 'string' 不能用于索引类型 'FilterData'。无索引 在类型上找到带有“字符串”类型参数的签名 'FilterData'.ts(7053)
我读到here 说该接口在运行时不存在,但我不知道可能有什么解决方法。我如何迭代接口对象?
【问题讨论】:
-
你能分享你的整个代码吗?我认为您在此处发布的代码没有任何问题。
const key in filterSettings,在运行时不使用FilterData,而只是使用filterSettings的对象属性。它应该可以工作(并且在我的小暂存文件中)。 -
我试过.. 我没有收到错误。你试过更新打字稿吗?
-
@xdeepakv 如果您的 typescript 配置不允许隐式任何内容,您确实会收到该错误。
标签: javascript node.js typescript