Попытка успешно отфильтровать объекты, используя pluck, а затем преобразовать результат в числа с плавающей запятой, используя функцию numbers ()
см. Код ниже
Фрагмент ответа от бэкэнда (намного больше этого)
[ { devSn: '10000511',
height: '178',
age: '46',
userId: '3',
weight: '55.9',
measureDate: '""2016-11-07T02:41:18.000Z""',
__v: 0 },
{ devSn: '10000511',
height: '179',
age: '0',
userId: '3',
weight: '57.2',
measureDate: '""2016-11-09T15:39:57.000Z""',
__v: 0 } ]
Соответствующий импорт:
import { pluck } from 'rxjs/operators';
import { map } from 'rxjs/operators'; // (shows map not being utilized for some reason, have already installed rxjs compact)
import { from } from 'rxjs';
код
this.weightdevicesService.getweightdevicesbypatient(this.userId)
.subscribe((weightdevices: Weightdevices[]) => {
this.weightdevices = weightdevices;
});
console.log(this.weightdevices);
const source = from(this.weightdevices); //changes to observable
const hfilter = source.pipe(pluck('height')); // pluck to filter out data to [ '55.9', '57.2' ]
console.log(hfilter);
const hfilterob = from(hfilter); // ensures it is observable - this dosent seem to make a difference?
const weightdata = hfilter.map(Number); // convert [ '55.9', '57.2' ] to [ 55.9, 57.2 ]
console.log(weightdata);
После получения ответа от бэкэнда я попытался использовать функцию pluck () для фильтрации данных в ['55 .9 ', '57 .2']. Затем, используя .map, я попытался преобразовать их в [55.9, 57.2].
Это приводит к ошибке
Свойство map не существует для типа Observable <{}>. Я не понимаю в этом случае