【发布时间】:2021-08-07 07:55:03
【问题描述】:
我有一个函数,它接受一个没有 id 属性的对象数组,并返回所有添加了 id 属性的对象。
const pickIdAndDocs = (arr) => {
return arr.map(doc => ({
id: 1,
...doc
}))
}
现在,例如,如果我有这个界面
interface iUser {
name: string;
}
和一个包含 iUser
类型值的数组let users: iUser[] = [ {name: "John"}, {name: "Joe"} ];
我如何指定函数pickIdAndDocs的返回类型,以便它返回一个数组,其中每个项目都是它所采用的输入类型的扩展类型,并添加了 id 属性
function pickIdAndDocs<T>(items : T[] ) : extendedT[];
这个函数可以接受任何类型的数组(总是对象/键值对),返回所有带有附加 id 属性的项目。
还是我以错误的方式接近这个?谢谢:)
【问题讨论】:
标签: typescript generics typescript-generics typescript-types