ts 泛型解决了什么

主要解决函数传入不确定类型参数 比如说我有 字符和数字数组需要求最小值,传人什么类型就返回什么类型的

我要写两个方法,判断字符串最小值,判断数组最小值

判断数组最小值

     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']))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章