Typoscript casting arrays

stemmen
22

Ik ben op zoek naar een wrapper gebruiken voor een bibliotheek die een array als invoerparameter wil.

Ik probeerde het gieten van de Array, maar ik krijg een fout: Kan niet converteren 'geen []' naar 'Array'

Is er een manier om dit werk te maken?

var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
De vraag is gesteld op 09/10/2012 om 05:12
bron van user
In andere talen...                            


4 antwoorden

stemmen
33

Er zijn 4 mogelijke conversie methoden in de schrijfmachine voor arrays:

let x = []; //any[]

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

De asoperator is vooral ontworpen voor *.tsxbestanden naar de syntax dubbelzinnigheid te vermijden.

antwoordde op 03/02/2016 om 16:09
bron van user

stemmen
6

Ik denk dat de juiste syntaxis is:

var rows2 = <Array<any>>rows;

Dat is hoe je geworpen interface Array<T>

antwoordde op 03/02/2016 om 15:10
bron van user

stemmen
4

Ik denk dat dit is gewoon een bug - kunt u een probleem te loggen op de CodePlex site?

Als tijdelijke oplossing kun je schrijven <Array><any>rows;

antwoordde op 09/10/2012 om 05:33
bron van user

stemmen
0

Een eenvoudige oplossing voor alle

const myArray = <MyType[]>value;
antwoordde op 02/01/2019 om 21:12
bron van user

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