我有一个javascript函数,用于检查是否有输入值是Array:
function isArray<T, K>(value: T): value is Array<K> {
return Array.isArray(value);
}
我该如何正确地将其转换为Typescript通用类型保护,以便它可以接受任何值并返回一些Array?
最后,我希望Typescript理解以下代码:
...
if (isArray(style)) {
// here Typescript understands style is Array<TextStyle>
for (const textStyle of style) {
if (hasDefinedProperty(textStyle, "lineHeight")) lineHeight = textStyle.lineHeight;
if (hasDefinedProperty(textStyle, "fontSize")) fontSize = textStyle.fontSize;
}
if (typeof lineHeight !== 'undefined') style.push({ lineHeight })
}