主要解决函数传入不确定类型参数 比如说我有 字符和数字数组需要求最小值,传人什么类型就返回什么类型的
我要写两个方法,判断字符串最小值,判断数组最小值
判断数组最小值
function getMin(arr:number[]):number{ //求数组最小值
const min =arr[0]
arr.foreach((item,index)=>{
if(item<min){
min=item
}
})
return min
}
getMin([1,2,3])
判断字符串最小值
function gestrtMin(arr:string[]):string{//求字符串最小值
const min =arr[0]
arr.foreach((item,index)=>{
if(item<min){
min=item
}
})
return min
}
gestrtMin(['1','22','333'])
- 看了上面代码,会不会觉得判断类型不同,但是代码写重复了。
泛型就解决了这个问题
//传入什么类型就返回任意类型
function gesArgMin<T>(arr:T[]):T{//求字符串最小值
const min =arr[0]
arr.foreach((item,index)=>{
if(item<min){
min=item
}
})
return min
}
conosle.log(gesArgMin([1,2,3,4,5]))
conosle.log(gesArgMin(['11','2','33','444','5555']))