Описание проблемы
У меня проблема с массивом объектов, из которого я хотел бы получить массив подобъектов на основе свойства объекта. Но через Array.filter (lambda {}) все, что я получаю, это пустой список.
Объект выглядит примерно так:
export interface objectType1 {
someName: number;
someOtherName: string;
}
export interface ObjectType2 {
name: string;
other: string;
ObjectType1: [];
}
Метод получения subArray:
private getSubArray(toDivied: ObjectType2[], propertyValue: string){
let list: ObjectType2[] = toDivied.filter((row:ObjectType2) => {
row.name === propertyValue
});
return list;
}
Анализ
А именно, были сделаны две вещи, гарантирующие, что сравнение фильтров работает и данные «соответствуют ожиданиям».
Точки прерывания в коде Visual Studio
Через точки останова при сравнении возврата и фильтра Я проверил, существует ли значение свойства (по условиям точки останова) и что возвращаемый «список» пуст.
Я хотел бы отметить, что Я использую линтер Typescript, который обычно выдает предупреждение о неправильных типах и вызовах неопределенных переменных и т.д., поэтому я совершенно уверен, что это не должно быть проблемой синтаксиса.
Протестировано через javascript, если оно работает в chrome консоль