1
type MyStructure = Object[] | Object;
const myStructure: MyStructure = [{ foo: "bar" }];
myStructure.map(); // Property 'map' does not exist on type 'MyStructure'. any
该库提供一个对象或该对象的数组。我怎样才能输入这个?属性'map'在类型上不存在
编辑
我怎样才能访问诸如myStructure["foo"]
性质的myStructure
情况下将是一个对象呢?
我实际上_.isArray这样做( ),这当然在TypeScript中不起作用...感谢您的帮助! – kraftwer1
@索尼,你知道为什么这个作品'键入MyStructure = number [] |号码;'[Playground](https://www.typescriptlang.org/play/index.html#src=%0D%0Atype%20MyStructure%20%3D%20number%5B%5D%20%7C%20number%3B% 0D 0A%%0D%0Alet%20myStructure%3A%20MyStructure%20%3D%20%5B3%5D%3B%0D 0A%%0D%0AmyStructure.map(N%20%3D%3E%20N * 2)%3B %0D%0AmyStructure%20%3D%205%3B)? –
这只是“对象”,会导致你的问题。参见另外两个使用'any'或者(可能更有用)示例的例子,它使用一个类来定义你在map方法中使用的任何东西(然后你会在你用来映射的函数中获得更好的类型信息)。 – Fenton