You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript如何为数组类型的元素添加/移除属性?

解决方案:修改数组元素的属性

1. 给数组元素添加额外属性

你定义的myArray本质是元素为{first: string; second: string}的数组类型,要给数组里的每个对象加third属性,得先提取数组的元素类型,再扩展它,最后重新构建数组类型:

type myArray = Array<{first: string; second: string}>;

interface MyInterface {
  // 提取myArray的元素类型,合并third属性后再组成数组
  arrayWithAdditionalProp: Array<myArray[number] & {third: string}>;
}

也可以用类型别名简化重复逻辑:

type myArrayElement = myArray[number];
type myArrayWithThird = Array<myArrayElement & {third: string}>;

interface MyInterface {
  arrayWithAdditionalProp: myArrayWithThird;
}

2. 移除数组元素的属性

要移除元素的某个属性,可以用TypeScript的Omit工具类型,同样先提取元素类型,再移除指定属性,最后构建数组:

比如移除second属性:

type myArrayWithoutSecond = Array<Omit<myArray[number], 'second'>>;

interface MyInterface {
  arrayWithoutSecondProp: myArrayWithoutSecond;
}

如果需要移除多个属性,把属性名放在联合类型里即可:

type myArrayWithoutFirstAndSecond = Array<Omit<myArray[number], 'first' | 'second'>>;

内容的提问来源于stack exchange,提问作者sir-haver

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 06:00:57