如何在作为对象数组的类型上添加属性?

阿利奥什

我有以下类型:

type MyType = {
  foo: string;
  bar: string;
}[];

如何向该对象添加新属性?

例如:添加{ fooBar: string }MyType所以结果是:

type MyType = {
  foo: string;
  bar: string;
  fooBar: string;
}[];

我能做的最好的就是这个。它有效,但它很麻烦,我想可以使用更优雅的东西

type Solution = Array<
  MyType extends Array<infer Item> ? Item & { fooBar: string } : never
>;

谢谢 =)

sno2

您可以通过使用 索引数组类型来获取内部数组项类型来做到这一点number之后,在数组项类型上创建与您希望成为的新事物的交集。最后,只需使用新创建的项目类型创建一个新的数组类型:

type MyType = {
  foo: string;
  bar: string;
}[];

type MyBetterType = (MyType[number] & { fooBar: string; })[];
// ^? ({ foo: string; bar: string; } & { fooBar: string; })[]

TypeScript Playground 链接

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我如何在数组中添加对象作为属性(react.js)

如何在书架模型上添加特定的关系或查询类型作为属性?

如何在嵌套对象数组上添加属性并编辑原始数组?

如何在对象的属性上添加属性?

创建作为对象属性数组的类型

Typescript数组对象属性值作为类型

如何在数组对象中添加新属性

如何在JavaScript上向数组对象添加新元素

如何在不可变对象数组上添加键,值对?

对象数组作为属性

如何在对象中找到作为数组的第一个属性?

如何在swagger中提供对象定义的示例,其中包含数组作为其属性之一

如何从数组向PowerShell对象添加属性

类型联合对象或对象数组上没有属性

如何在数组中添加对象作为值长度?

如何在 HTML 上显示作为类属性的对象列表 (ManyToMany)

为通用对象中的类数组属性值添加类型

如何在类图上将属性的数据类型表示为对象数组?

对象属性值作为类型

如何在JavaScript中将对象属性添加到数组中?

如何在javascript中检查和添加属性到数组对象

如何在打字稿中向数组的每个对象添加属性?

如何在打字稿(角度)的数组的特定索引处向对象添加属性?

如何在数组中添加相同出现的对象的属性?

如何从函数参数中获取对象属性值作为类型

如何在对象类型文档字段的属性上使用FieldValue.increment()

如何在没有__len__数据类型定义的对象上添加__len__?

如何在数组数据类型的元素上添加外键约束

如何在基本数组/对象类型字段上对mongo集合进行排序