我想用来自可观察对象的不同值填充我的NG2图。使用以下代码,我可以获得用作标签的id。
下一步是使用id后面的值计算平均值。这有一个问题。数据以字符串[]的形式由可观察对象提供。ChartData(数字)不能这么容易地填充。是否有一种方法可以将数据转换为该调用中的数字?
public ChartData: ChartDataSets [] = [
{data: [], label: 'Average'},
];
this.tasks.pipe(
map(x => x.map(x => x.name))
).subscribe((result => this.ChartData.data = result)); // -> TS2322: Type 'string [ ] 'is not assignable to type' ChartDataSets [] '.
但是,如果这有效,仍然有一个问题,我必须对这些值加一个和,然后除以结果的数量。我甚至可以用NG2图表和可观察到的数据来解决这个问题吗?还是我必须编写一个额外的模块来为我计算平均值?
您可以使用parseInt(value, base)
将字符串转换为数字(假设它实际上是一个数字),因此在您的情况下,它看起来像
public ChartData: ChartDataSets [] = [
{data: [], label: 'Average'},
];
this.tasks.pipe(
map(x => x.map(x => parseInt(x.name, 10)))
).subscribe((result => this.ChartData.data = result));