部分调用带有类型转换到具有自定义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

相关内容

热门资讯

记者爆料透视器技巧!无锡麻将多... 记者爆料透视器技巧!无锡麻将多功能透视器技巧,无锡麻将都是有透视器技巧1、超多福利:超高返利,海量正...
重大通报透视挂方法!三鑫联盟多... 重大通报透视挂方法!三鑫联盟多功能透视挂方法,三鑫联盟一贯真的有透视挂方法1、操作简单,无需三鑫联盟...
玩家必看教程辅助器技巧!掌上约... 玩家必看教程辅助器技巧!掌上约牌多功能辅助器技巧,掌上约牌都是真的有辅助器技巧1)掌上约牌辅助插件:...
重大通报外挂方法!中至山西麻将... 重大通报外挂方法!中至山西麻将多功能外挂方法,中至山西麻将本来存在有外挂方法1、中至山西麻将免费脚本...
重要通知透视挂app!丹东约战... 重要通知透视挂app!丹东约战麻将多功能透视挂app,丹东约战麻将好像真的有透视挂app1、丹东约战...
今日公布外挂插件!亲邻麻将多功... 今日公布外挂插件!亲邻麻将多功能外挂插件,亲邻麻将原来是真的有外挂插件1、该软件可以轻松地帮助玩家将...
揭秘外挂教程!中至余干麻将多功... 揭秘外挂教程!中至余干麻将多功能外挂教程,中至余干麻将果然真的是有外挂教程1、用户打开应用后不用登录...
揭秘一下辅助软件!星火燎原多功... 揭秘一下辅助软件!星火燎原多功能辅助软件,星火燎原确实有辅助软件1、星火燎原透视辅助软件激活码多个强...
终于懂了透视器技巧!趣玩情怀多... 终于懂了透视器技巧!趣玩情怀多功能透视器技巧,趣玩情怀竟然存在有透视器技巧亲,关键说明,趣玩情怀透视...
盘点一款开挂方法!天天黄石麻将... 盘点一款开挂方法!天天黄石麻将多功能开挂方法,天天黄石麻将切实是有开挂方法天天黄石麻将是不是有人用挂...