我正在尝试遍历一个array
并一般抓取我想要的项目。起初我是这样做的:
getItemsByType<T>(type: string): T[] {
var results: T[] = [];
for (var item in this) {
if (typeof this[item] === type) {
results.push(this[item]);
}
}
return results;
}
但是我的 Foo() 类只是作为 typeof 对象返回。
getItemsByType<T>(type: string): T[] {
var results: T[] = [];
for (var item in this) {
if (this[item] instanceof type) {
results.push(this[item]);
}
}
return results;
}
这只是行不通,instanceof
没有实际的class
. 但是我使用的是AMD
加载器(dojo
),因此不能从这种孤独的方法中获得易于访问的构造函数。
在我的特定实例中,我有一个基本类型的数组,许多类从它继承来进行定义。所以稍后我需要从中提取特定类型。如果这不可能,我可能还需要开始按类型存储。
有任何想法吗?谢谢。