gpt4 book ai didi

typescript - 如何从字符串数组中推断对象键的类型

转载 作者:搜寻专家 更新时间:2023-10-30 20:56:44 24 4
gpt4 key购买 nike

我有以下功能:

    const infer = (...params: string[]): Record<string, string> => {
const obj: Record<string, string> = {};
// Put all params as keys with a random value to obj
// [...]
return obj;
}

此函数将接受 n 个字符串并返回一个对象,该对象恰好包含这些字符串作为键,具有随机值。

所以 infer("abc", "def") 可能返回 {"abc": "1337", "def":"1338"}

有没有什么方法可以推断返回类型以从此函数获得完整的类型安全性?该函数的代码保证每个键都将出现在返回的对象中,并且每个值都是一个字符串。

最佳答案

你可以这样声明:

const infer = <T extends string[]>(...params: T): Record<T[number], string> => {
const obj: Record<string, string> = {};
// Put all params as keys with a random value to obj
// [...]
return obj;
};

const t = infer("a", "b", "c") // const t: Record<"a" | "b" | "c", string>

Playground

关于typescript - 如何从字符串数组中推断对象键的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58027739/

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