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

如何从含word属性的对象数组提取字符串字面量联合类型?

从对象数组提取字符串字面量联合类型

要从给定的对象数组中得到目标的字符串字面量联合类型,分两步操作即可:

  1. 用as const断言锁定数组类型
    默认情况下TypeScript会把数组里的word值推断为宽泛的string类型,需要用as const强制TypeScript保留每个值的字面量类型:
const array = [{word:"apple"}, {word:"banana"}, {word:"melon"}] as const;
  1. 通过类型查询提取目标联合类型
    利用TypeScript的类型操作符,先获取数组元素的类型,再提取word属性的类型:
type Test = typeof array[number]["word"];

此时Test的类型就是"apple" | "banana" | "melon",完全符合需求。

补充说明

  • as const会将数组及其内部对象都转为只读字面量类型,确保每个word的具体值被TypeScript精确识别,而不是被宽泛化为string。
  • typeof array[number]表示取数组中任意元素的类型,得到的是三个对象字面量的联合类型;再通过["word"]访问每个对象的word属性,最终合并出目标的字符串字面量联合类型。

内容的提问来源于stack exchange,提问作者최승호

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 04:14:50