タイプの要素を配列に追加any
し、後でこの配列から数値である要素を取得したい:
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());
しかし、ジェネリック型に対して要素の型をチェックすることはできません。
これを達成する方法はありますか?