TS7015
Array indexado con algo que no es un número
Element implicitly has an 'any' type because index expression is not of type 'number'.Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.
Los arrays describen posiciones numéricas; una clave de texto como `first` no es una de ellas.
Reproducción
const values = [1, 2] values['first']
La compilación afirma que esto emite exactamente este código.
Por qué lo dice el compilador
Los objetos de JavaScript pueden tener propiedades arbitrarias, pero un tipo array solo promete sus elementos numerados y miembros estándar. TypeScript no inventará una firma de índice de cadena ni convertirá silenciosamente el resultado en `any`.
Arreglos
- 01
const values = [1, 2] const first = values[0]
Usa una posición numérica cuando la colección está ordenada.
- 02
const values: Record<string, number> = { first: 1, second: 2, } const first = values['first']
Usa un objeto con claves o `Record` cuando los nombres, y no las posiciones, identifican los valores.
Conclusión
Elige la estructura que encaja con la búsqueda: arrays para posiciones, registros para nombres.
