是否可以将所有接口字段都设置为必填字段,但只设置为数组类型?Required运算符将所有字段设置为必填字段,但我只需要数组类型的字段???
`
interface IExample {
a: number,
b?: string,
c?: number[]
}
function getTest(data: IExample): Required<IExample> {
return {
...data,
c: data.c ?? []
}
}
//Error because the 'c' field is also checked, but it is not an array. How to check for arrays only?
`
先谢了
我假设这个问题可以用元组来解决,然而,无论我怎么尝试,它都没有成功
2条答案
按热度按时间tjvv9vkg1#
试试看:
请在此处查看演示。
o7jaxewo2#
我有这样的做法:
如果您希望保留所有必需的类型,可以使用
KeepAllSameButArraysRequired
,但如果您希望它们是可选的,并且只需要数组,则使用OnlyArrayRequired