gpt4 book ai didi

javascript - 是否可以在 TypeScript 中定义一组剩余参数?

转载 作者:行者123 更新时间:2023-12-05 08:03:28 26 4
gpt4 key购买 nike

我不知道问题标题是否具有启发性,但我的问题是,在构造函数中我得到了一个 rest 参数,它必须是对象的键,我希望在调用构造函数时,它只允许尚未使用的 key 。

我不知道这是否可能,但如果可能,如果有人能帮助我,我会很高兴。

下面是一些代码来说明我的问题:


class MyClass<GenType> {
// With the Utility Type Partial<?> I achieved the behavior of allowing only the keys
// that the object type GenType has, but it still allows that the same key can be passed
// as argument more than once
constructor(...rest: Array<Partial<keyof GenType>>) {

// constructor stuff
}

}

type MyGenericType = {
key1: string,
key2: number,
key3: Array<number>
}

// Here, in the initialization, it allows to insert the same key multiple times, but
// i want it to allow that a key can be passed just once
const myClassObject = new MyClass<MyGenericType>("key1", "key2", "key1");

下面是我真实代码中问题的图片:

real code problem

请注意,它允许多次传递相同的键并且代码建议显示所有对象键,我希望它不允许多次使用相同的键并且代码建议仅显示剩余的键

我想要的效果可以吗?如果是,我该如何实现?

谢谢! 😊

最佳答案

对于正在寻找类似东西的每个人,通过发表评论,我假设是的,有可能实现它,但不,没有简单或有效的方法来做到这一点,一些可能性在下面的链接中:

Possibility 1

Possibility 2

感谢所有试图提供帮助的评论,并希望它能帮助到其他人! 😃

关于javascript - 是否可以在 TypeScript 中定义一组剩余参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72734837/

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