mecanografiado matrices de fundición

votos
22

Estoy tratando de utilizar un envoltorio para una biblioteca que quiere una matriz como parámetro de entrada.

He intentado colar la matriz, pero me da un error: No se puede convertir 'cualquier []' a 'array'

¿Hay una manera de hacer este trabajo?

var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
Publicado el 09/10/2012 a las 05:12
fuente por usuario
En otros idiomas...                            


4 respuestas

votos
33

Hay 4 posibles métodos Conversoras a máquina para arrays:

let x = []; //any[]

let y1 = x as number[];
let z1 = x as Array<number>;
let y2 = <number[]>x;
let z2 = <Array<number>>x;

El asoperador está diseñado principalmente para *.tsxlos archivos para evitar la ambigüedad de sintaxis.

Respondida el 03/02/2016 a las 13:09
fuente por usuario

votos
6

Creo que la sintaxis correcta es:

var rows2 = <Array<any>>rows;

Así es como lanzas a interface Array<T>

Respondida el 03/02/2016 a las 12:10
fuente por usuario

votos
4

Creo que esto es sólo un error - se puede registrar un tema en el sitio CodePlex?

Como solución alternativa, puede escribir <Array><any>rows;

Respondida el 09/10/2012 a las 05:33
fuente por usuario

votos
0

Una solución simple para todos los tipos

const myArray = <MyType[]>value;
Respondida el 02/01/2019 a las 21:12
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more