我在Angular 2应用程序中遇到了这个编译错误:
TS7015:元素隐式具有"any"类型,因为索引表达式不是"number"类型.
导致它的代码是:
getApplicationCount(state:string) {
return this.applicationsByState[state] ? this.applicationsByState[state].length : 0;
}
但是,这不会导致此错误:
getApplicationCount(state:string) {
return this.applicationsByState[<any>state] ? this.applicationsByState[<any>state].length : 0;
}
这对我来说毫无意义.我想在第一次定义属性时解决这个问题.现在我在写:
private applicationsByState: Array<any> = [];
但有人提到,问题是试图在数组中使用字符串类型作为索引,我应该使用映射.但我不知道该怎么做.
谢谢你的帮助!