【发布时间】:2022-01-05 01:18:58
【问题描述】:
我正在尝试使用其中一个重复(和必需)键创建基于对象数组的类型,但 typescript 无法按我期望的方式处理 Array.map():
const list = [
{
_id: 'foo1'
},
{ _id: 'foo2' }
] as const
const listIds = list.map(listValue => listValue._id)
我希望listIds 被推断为['foo1', 'foo2'],但被视为("foo1" | "foo2")[]。这对我来说没有意义,因为 Array.map 不可能返回与原始数组大小不同的数组。
还有其他方法可以获得我正在寻找的结果吗?
PS。请参阅 TypeScript Playground 示例 here。
【问题讨论】:
-
通常你用重载来做。看到这个tsplay.dev/WJRxkW。在这里catchts.com/tuples你可以找到一些解释。它对你有用吗?
标签: arrays typescript typescript4.0