我想any
類型的元素添加到一個數組,後來得到這個數組是數字的元素:如何檢查元素是否爲U的一個實例?
function OfType<T, U>(list: T[]) : U[]
{
var result: U[] = [];
list.forEach(e => {
// I want to check if e is of type U
//if (typeof(e) === typeof(U)) // ERROR: doesn't work
result.push(<U><any>e);
});
return <any[]>result;
}
var list: any[] = [];
list.push("A");
list.push(2);
var result = OfType<any, number>(list);
alert(result.toString());
不過,這並不讓我檢查元素的類型與泛型類型。
有沒有辦法做到這一點?