我想允许任何形状的对象数组,只要它们有id: number。那么,无论是OrderModel数组还是UserModel数组(两者都有id: number),如何定义这样的数组呢?导出接口项目{ id:number; //其他值都不重要}
id: number
OrderModel
UserModel
fykwrbwg1#
考虑到数组是covariant,只需将Item定义为:
Item
interface Item { id: number; }
假设您有以下类型:
interface OrderModel { id: number; type: "order"; // other props } interface UserModel { id: number; type: "user"; // other props }
允许以下情况:
declare const os: Array<OrderModel>; declare const us: Array<UserModel>; declare function doStuff(xs: Array<Item>): unknown; doStuff(os); doStuff(us);
Playground
1条答案
按热度按时间fykwrbwg1#
考虑到数组是covariant,只需将
Item
定义为:假设您有以下类型:
允许以下情况:
Playground