type arrPush<T extends any[], U> = [ ...args:T, a:U] extends [...args : infer G] ? G : never
type newArr = arrPush<[1,3,4], 5>
let g:newArr = [1,3,4,5]
type arr = [1,2,3,4]
type $unshift<T extends any[], U> = [U,...T]
type newArr = $unshift<arr, 5>
let a:newArr = [5,1,2,3,4]
type a = [1,2,3]
type arrPop<T extends any[]> = [...args: T] extends [...args: infer G, a: infer C] ? G : never
type c = arrPop<a>
let ar1 : c= [1,2]
type arr = [1,2,3,4]
type $shift<T extends any[],U extends keyof T> = [...args : T] extends [b: infer Y,...args : infer G ] ? G : never
type newArr = $shift<arr,1>
let a: newArr = [2,3,4]
typescript 实现数组push unshift pop shift
最新推荐文章于 2024-02-07 14:02:40 发布