部分调用带有类型转换到具有自定义NonNullableArrItems类型的NonNullable。
创始人
2024-12-24 02:30:19
0

问题代码示例:

type NonNullableArrItems = T extends (infer U)[] ? NonNullable[] : NonNullable;

function test(arr: T): NonNullableArrItems {
  // implementation
}

const a = test([1, null, 2]); // NonNullableArrItems
const b = test('abc'); // NonNullableArrItems

解决方法是使用类型分布法(distributive conditional types)指定数组元素的非空约束条件。在类型分布法的情况下,如果有联合类型时,将类型逐个拆分并组合,以处理每个类型。使用infer关键字来推断数组元素的类型。最后,将推断出的类型数组转换为非空类型数组。以下是解决方法的代码示例:

type NonNullableArrItems = T extends (infer U)[] ? { [K in keyof U]: NonNullable } : NonNullable;

function test(arr: T): NonNullableArrItems {
  // implementation
}

const a = test([1, null, 2]); // NonNullableArrItems
const b = test('abc'); // NonNullableArrItems

相关内容

热门资讯

总算了解!pokemmo脚本最... 总算了解!pokemmo脚本最新版(透视)一直存在有挂(2025已更新)(哔哩哔哩);1、全新机制【...
查到实测!佛手大菠萝有挂吗(透... 查到实测!佛手大菠萝有挂吗(透视)好像有挂(2021已更新)(哔哩哔哩);1、每一步都需要思考,不同...
透视教程书!德普之星私人局辅助... 透视教程书!德普之星私人局辅助器,(德普)本来真的有挂(详细免费透视);1、很好的工具软件,可以解锁...
揭秘一下!pokerworld... 揭秘一下!pokerworld修改器(透视)好像是真的有挂(2023已更新)(哔哩哔哩)1)poke...
透视技法!德普之星辅助软件,(... 透视技法!德普之星辅助软件,(德扑之心)本来真的是有挂(详细私人局辅助器)1、上手简单,内置详细流程...
发现玩家!哈糖大菠萝助手(透视... 发现玩家!哈糖大菠萝助手(透视)一贯有挂(2022已更新)(哔哩哔哩)1)哈糖大菠萝助手辅助挂:进一...
透视经验!德普之星有辅助软件吗... 透视经验!德普之星有辅助软件吗(透视)透视辅助软件(原来是有挂);1、该软件可以轻松地帮助玩家将德普...
玩家科普!pokemmo手机辅... 玩家科普!pokemmo手机辅助软件(透视)总是存在有挂(2023已更新)(哔哩哔哩)1、全新机制【...
透视办法!德普之星透视辅助软件... 透视办法!德普之星透视辅助软件下载(透视)透视辅助(都是有挂)1、操作简单,无需注册,只需要使用手机...
一分钟教会你!cloudpok... 一分钟教会你!cloudpoker怎么开挂(透视)一直是真的有挂(2025已更新)(哔哩哔哩)1、每...