我有以下代码:
const result: Array<{ id: string }> = list.map((x) => {
return {
id: x,
};
});
我收到以下错误,
<块引用>输入'查询<{studentsdcid: any; }, any, {}>' 缺少类型 '{ Studentsdcid: string; 中的以下属性。 }[]': length, pop, push, concat, and 22 more.ts(2740)
不太确定我需要在这里更改什么。
答案 0 :(得分:2)
您没有包含所有相关代码,因此我无法告诉您您究竟做错了什么,但我可以解释错误并猜测您做错了什么。
length
、pop
、push
、concat
和 "22 more" 都是接口 Array<Type>
的属性,这是您的泛型类型为 result
声明。
您收到该错误是因为您使用的是 'Query<{ Studentsdcid: any; }, any, {}>' 在需要 Array
的地方,并且 Query
不是 Array
也不是扩展它。
答案 1 :(得分:1)
Typescript 可能无法确定 list
的类型。
您是否在上面的代码中声明了:const list: string[] = []
?
如果是,但仍然出现错误,请添加 x 的输入,如下所示:
const result: Array<{ id: string }> = list.map((x: string) => {
return {
id: x,
};
});
但鉴于您的问题的日志,问题似乎出现在代码后面使用 result
对象的地方。 ?