[英]Typescript error when using array.map in a function
interface Object1{
id:number,
label:string
}
interface Object2{
id:number,
description:string
}
const transformArray:Object2[] = (input:Object1[])=>{
return input.map(item=>{
return {
id:item.id,
description:item.label
}
})
}
在此代码中,打字稿给出了错误
输入'(输入:Object1 [])=> { id:数字; 描述:字符串; }[]' 缺少类型 'Object2[]' 的以下属性:pop、push、concat、join 和 28 个更多。ts(2740) index.tsx(44, 34):您是要调用这个表达式吗?
我正在尝试创建一个函数,该函数采用 Object1 数组并转换为 Object2 数组
这个:
const transformArray:Object2[] = (input:Object1[])=>{
意味着您说transformArray
的类型是Object2[]
。 然后你给它分配一个功能。 数组和函数不是兼容的类型,因此会出现类型错误。
我认为您打算这样做:
const transformArray = (input:Object1[]): Object2[] => {
在这里,您声明一个接受Object1
数组并返回Object2
数组的函数。 transformArray
不需要显式类型,因为您分配给它的函数是非常强类型的,Typescript 可以从中找出紧密类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.