Я получаю массив данных из запроса http get. Эти данные следующие:
![enter image description here](https://i.stack.imgur.com/f94Da.png)
Как видите, это массив из 4 одинаковых документов, каждый документ имеет
{name:"...", series: [{name:"...",value:"..."},...]}
как его структура.
Теперь я хотел бы создать новый массив на основе этого массива, где я фильтрую каждый документ верхнего уровня внутри массива по его полю с именем серии (~ datetime), основываясь на некотором параметре datetime, который я передаю из функции (чтобы точный, от сборщика даты).
filterDatetime(start, end, array) {
this.actualData = array.map(el => el.series)
.filter(dok => {new Date(dok.name) > new Date(start) && new Date(dok.name) < new Date(end)})
}
Я попытался применить вышеуказанную функцию для фильтрации массива серий по времени начала и окончания, чтобы вернуть мне структуру документа, аналогичную изображенной на рисунках, только с новым массивом отфильтрованных серий ... но почему-то это не работает ,
И, кроме того, я использую наблюдаемые. Я сохраняю свои возвращаемые наблюдаемые данные внутри переменной, эта переменная должна присутствовать уже на диаграмме при загрузке страницы, поэтому, если вы используете datetimepicker для выбора диапазона дат, данные в переменной обычно уже должны присутствовать.
Однако я не уверен, как именно он будет себя вести, если он исходит из наблюдаемой (также, если он уже присутствует).
Поэтому, возможно, мне нужно быть осторожным, чтобы вернуть не пустой массив или около того (я все еще новичок в наблюдаемых, так что не знаю, работает ли это так).
Редактировать: я мог бы отправить новый http-запрос в базу данных и отфильтровать непосредственно по данным, но я хотел бы изучить эти методы сопоставления / фильтрации / уменьшения и т. Д., Чтобы выполнить манипулирование непосредственно с настоящими данными, как мне кажется это будет удобнее на последующих этапах разработки.