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;