,可以通过类型保护和类型断言来实现。
首先,联合类型是由多个类型组成的类型,可以使用竖线(|)将多个类型进行连接。例如,如果有一个联合类型为string | number
,表示该变量可以是字符串类型或者数字类型。
要从联合类型typescript生成字符串数组,可以使用类型保护来过滤出字符串类型的元素,并将它们添加到一个新的数组中。
以下是一个示例代码:
function filterStrings(arr: (string | number)[]): string[] {
const result: string[] = [];
for (const item of arr) {
if (typeof item === 'string') {
result.push(item);
}
}
return result;
}
const unionArr: (string | number)[] = ['apple', 123, 'banana', 456, 'orange'];
const stringArr: string[] = filterStrings(unionArr);
console.log(stringArr); // 输出:['apple', 'banana', 'orange']
在上述代码中,filterStrings
函数接受一个联合类型的数组作为参数,并使用typeof
类型保护来判断元素的类型。如果元素是字符串类型,则将其添加到result
数组中。最后,返回过滤后的字符串数组。
这种方法可以将联合类型中的字符串元素过滤出来,生成一个新的字符串数组。
推荐的腾讯云相关产品:无
希望以上信息对您有所帮助!如有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云