实现一个泛型 Pop<T>,它接受一个数组 T,并返回一个由数组 T 的前 N-1 项(N 为数组 T 的长度)以相同的顺序组成的数组

例如:

type arr1 = ['a', 'b', 'c', 'd']
type arr2 = [3, 2, 1]
 
type re1 = Pop<arr1> // expected to be ['a', 'b', 'c']
type re2 = Pop<arr2> // expected to be [3, 2]

扩展:同样,您也可以实现 ShiftPushUnshift 吗?