matrice de turnare typescript

voturi
22

Am încercat să folosească un înveliș pentru o bibliotecă care dorește o matrice ca parametru de intrare.

Am încercat turnare Array, dar primesc o eroare: Nu se poate converti „orice []“ „Array“ pentru

Există o modalitate de a face acest lucru?

var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
Întrebat 09/10/2012 la 05:12
sursa de către utilizator
În alte limbi...                            


4 răspunsuri

voturi
33

Există 4 metode posibile conversiunea dactilografiat pentru tablouri:

let x = []; //any[]

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

asOperatorul este proiectat mai ales pentru *.tsxfișiere pentru a evita ambiguitatea de sintaxă.

Publicat 03/02/2016 la 16:09
sursa de către utilizator

voturi
6

Cred că sintaxa corectă este:

var rows2 = <Array<any>>rows;

Așa ai aruncat pe interface Array<T>

Publicat 03/02/2016 la 15:10
sursa de către utilizator

voturi
4

Cred că acest lucru este doar un bug - puteți să vă conectați o problemă pe site-ul CodePlex?

Ca soluție alternativă, puteți scrie <Array><any>rows;

Publicat 09/10/2012 la 05:33
sursa de către utilizator

voturi
0

O soluție simplă pentru toate tipurile

const myArray = <MyType[]>value;
Publicat 02/01/2019 la 21:12
sursa de către utilizator

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