gpt4 book ai didi

typescript - 如何从 TS 文字联合类型推断对象的键和值?

转载 作者:行者123 更新时间:2023-12-02 18:11:03 25 4
gpt4 key购买 nike

我有两个字符串的文字联合类型,并希望它们成为对象的可能的键和值。

export type AlarmKeyword = 'R1' | 'R2';

export type ResourceTypes = 'nktw' | 'rtw' | 'nef' | 'rth' | 'hlf' | 'dlk';

新类型如下所示:

export type AlarmKeywordObject = {
[P in AlarmKeyword]: { [T in ResourceTypes]: number };
};

但是 TS 现在提示这段代码:

      {
R1: {
rtw: 1,
},
}

Type '{ rtw: number; }' is missing the following properties from type'{ nktw: number; rtw: number; nef: number; rth: number; hlf: number;dlk: number; }': nktw, nef, rth, hlf, dlk

我如何确保这些键是可选的而不是所有键都是必需的?

谢谢!

最佳答案

您可以使用问号?来标记键是可选的:

type AlarmKeywordObject = {
[P in AlarmKeyword]?: { [T in ResourceTypes]?: number }
};

Playground

关于typescript - 如何从 TS 文字联合类型推断对象的键和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72347013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com