Я пытаюсь перебрать 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
), поэтому у меня не может быть легко доступного конструктора из этого одинокого метода.
В моем конкретном случае у меня есть массив базового типа, от которого наследуются многие классы для своих определений. Позже мне нужно вытащить из него определенный тип. Если это невозможно, мне может потребоваться также начать хранение по типу.
Любые идеи? Спасибо.