type MyStructure = Object[] | Object;
const myStructure: MyStructure = [{ foo: "bar" }];
myStructure.map(); // Property 'map' does not exist on type 'MyStructure'. any
Die Bibliothek liefert entweder ein Objekt oder ein Array dieses Objekts. Wie kann ich das tippen?Eigenschaft 'map' existiert nicht für Typ Objekt
EDIT
Und wie kann ich auf Eigenschaften wie myStructure["foo"]
bei myStructure
wird ein Objekt sein?
Ich habe tatsächlich diese mit _.isArray (), was in TypeScript natürlich nicht funktioniert ... Danke für deine Hilfe! – kraftwer1
@Sohnee, weißt du, warum das funktioniert? Tippe MyStructure = Nummer [] | Nummer; '[Spielplatz] (https://www.typescriptlang.org/play/index.html#src=%0D%0Atype%20MyStructure%20%3D%20number%5B%5D%20%7C%20number%3B% 0D% 0A% 0D% 0Alet% 20myStruktur% 3A% 20MyStruktur% 20% 3D% 20% 5B3% 5D% 3B% 0D% 0A% 0D% 0AmyStructure.map (n% 20% 3D% 3E% 20n * 2)% 3B % 0D% 0AmyStruktur% 20% 3D% 205% 3B)? –
Es ist nur "Objekt", das Ihnen das Problem verursacht. Sehen Sie sich die zusätzlichen zwei Beispiele für die Verwendung von 'any' oder das (wahrscheinlich nützlichere) Beispiel mit einer Klasse an, die alles definiert, was Sie innerhalb der map-Methode verwenden (Sie erhalten dann bessere Typinformationen innerhalb der Funktion, die Sie verwenden). – Fenton