Im получение этой ошибки компиляции в моем приложении Angular 2:
TS7015: Element implicitly has an 'any' type because index expression is not of type '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> = [];
Но кто-то сказал, что проблема пытается использовать строковый тип в качестве индекса в массиве и что я должен использовать карту. Но я не знаю, как это сделать.
Thans для вашей помощи!