我有以下设置,当我循环使用 for...of
并得到一个错误:
“对象”类型不存在属性“国家”。
这是循环遍历数组中的每个对象并比较对象属性值的正确方法吗?
let countryProviders: object[];
export function GetAllProviders() {
allProviders = [
{ region: "r 1", country: "US", locale: "en-us", company: "co 1" },
{ region: "r 2", country: "China", locale: "zh-cn", company: "co 2" },
{ region: "r 4", country: "Korea", locale: "ko-kr", company: "co 4" },
{ region: "r 5", country: "Japan", locale: "ja-jp", company: "co 5" }
]
for (let providers of allProviders) {
if (providers.country === "US") { // error here
countryProviders.push(providers);
}
}
}
原文由 Jason 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可能也将
allProviders
类型为object[]
。并且属性country
在object
上不存在。如果您不关心打字,您可以将allProviders
和countryProviders
声明为Array<any>
:如果您确实想要静态类型检查。您可以为结构创建一个接口并使用它: