Maschinenschrift Guss Arrays

stimmen
22

Ich versuche, einen Wrapper für eine Bibliothek zu verwenden, die ein Array als Eingabeparameter will.

Ich habe versucht, das Array-Casting, aber ich erhalte eine Fehlermeldung: Kann nicht konvertieren ‚alle []‘ auf ‚Array‘

Gibt es eine Möglichkeit, diese Arbeit zu machen?

var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
Veröffentlicht am 09/10/2012 um 05:12
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
33

Es gibt 4 mögliche convertion Methoden in Typoskript für Arrays:

let x = []; //any[]

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

Der asBetreiber ist vor allem für entworfen *.tsxDateien der Syntax Mehrdeutigkeit zu vermeiden.

Beantwortet am 03/02/2016 um 16:09
quelle vom benutzer

stimmen
6

Ich denke, die richtige Syntax lautet:

var rows2 = <Array<any>>rows;

Das ist, wie man zu gieße interface Array<T>

Beantwortet am 03/02/2016 um 15:10
quelle vom benutzer

stimmen
4

Ich denke, das nur ein Fehler ist - können Sie ein Problem auf der CodePlex-Website anmelden?

Als Abhilfe können Sie schreiben <Array><any>rows;

Beantwortet am 09/10/2012 um 05:33
quelle vom benutzer

stimmen
0

Eine einfache Lösung für alle Arten

const myArray = <MyType[]>value;
Beantwortet am 02/01/2019 um 21:12
quelle vom benutzer

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