Arrays 如何让TypeScript知道如果是泛型';s参数可以是字符串或数字

Arrays 如何让TypeScript知道如果是泛型';s参数可以是字符串或数字,arrays,typescript,Arrays,Typescript,考虑具有以下签名的函数: 函数removeNumbersOrStringsElementsFromArray( 阵列, targetElementorMultipleOfM:number | string |数组 ): { 更新数组:数组; 移除元素索引:数组; } { //实施 } 即使targetArray的所有元素都是字符串或数字 const result: Array<string> = removeNumbersOrStringsElementsFromArray([ 1

考虑具有以下签名的函数:

函数removeNumbersOrStringsElementsFromArray(
阵列,
targetElementorMultipleOfM:number | string |数组
): {
更新数组:数组;
移除元素索引:数组;
} {
//实施
}
即使
targetArray
的所有元素都是字符串或数字

const result: Array<string> = removeNumbersOrStringsElementsFromArray([ 1, 2, 3, 4 ], [ 1, 2 ]).updatedArray;
如果我将签名从
Array
更改为
Array | Array
,则需要更改
removeNumbersOrStringsElementsFromArray
实现,但是从JavaScript的角度来看,它是有效的。其他一些解决方案?

函数removeNumbersOrStringsElementsFromArray(
function removeNumbersOrStringsElementsFromArray< T extends string | number>(
    targetArray: Array<T>,
    targetElementOrMultipleOfThem: T | Array<T>
): {
    updatedArray: Array<T>;
    removedElementsIndexes: Array<number>;
} {

}

const result: Array<number> = removeNumbersOrStringsElementsFromArray([1, 2, 3, 4], [1, 2]).updatedArray;
阵列, targetElementorMultipleOfM:T |数组 ): { 更新数组:数组; 移除元素索引:数组; } { } const result:Array=removeNumbersOrStringsElementsFromArray([1,2,3,4],[1,2])。updatedArray;