一般打字稿问题说我迭代一个我知道其内容的数组,并应用一个归约来获取一个我确实知道类型的对象,例如:
interface IMyInterface {
a: number;
b: number;
c: number;
}
const result: IMyInterface = ['a','b','c'].reduce((acc: Partial<IMyInterface>,val)=>({...acc,[val]: 1}), {});
Run Code Online (Sandbox Code Playgroud)
现在这不起作用,因为结果预计是Partial<IMyInterface>有意义的,考虑到 TS 无法告诉数组的内容将产生“完整”对象。但是,我需要做什么才能使结果为 IMyInterface 类型而不需要as IMyInterface?
这是一个 repl https://repl.it/@Sudakatux/KaleidooscopyGraciousApplicationpackage
提前致谢
因此,我会仔细阅读https://developer.paypal.com/docs/integration/direct/create-billing-plan/上的文档。 如果我理解正确,我们会创建一个计划,然后为每个用户创建协议。这意味着该计划不是针对每个用户的事情。
如果计划不是针对每个用户的计划,那么在paypal中是否有一个我可以实际创建计划的Paypal页面?似乎很奇怪,我只能以编程方式创建计划,除非计划直接与用户相关联。