[英]Angular - How can i transform an Object into an Array
我正在制作 ChartJS 库的折线图。 我有这个 object 并且我想将它转换为一个数组,因为我想在它上面使用它的数据。 在网上搜索我发现 map 这是最简单的方法,但我实际上不能在 Object 上使用它,但只能在 arrays 上使用。 如何将其转换为数组或仅使用折线图上的 json 数据? 这就是我现在拥有的 json object。
{labels: Array(2), values: Array(2)}
labels: (2) ["sales-be", "sales-mw"]
values: (2) [48, 8]
我试过这样,但它给了我错误:
var labels = this.errorsList.map(function (e) {
return e.labels;
});
var datas = this.errorsList.map(function (e) {
return e.values;
});
类型错误:this.errorsList.map 不是 function
属性已经是 arrays。 所以你可以直接访问它们。
尝试以下
export class AppComponent {
errorsList = {
labels: ["sales-be", "sales-mw"],
values: [48, 8]
};
ngOnInit() {
this.chartData = [{
data: this.errorsList.values,
label: 'Sales',
fill: false
}];
this.chartLabels = this.errorsList.labels;
this.chartColors = [{
backgroundColor: 'rgba(0, 0, 0, 0)',
borderColor: 'rgba(255, 15, 15, 1)'
}];
};
}
模板
<div id="chart-container">
<canvas #myCanvas id="canvas" baseChart [chartType]="chartType" [datasets]="chartData" [labels]="chartLabels" [colors]="chartColors" [options]="chartOptions"></canvas>
</div>
工作示例: Stackblitz
这里的errorsList
是用硬值定义的,只是为了说明。 您不必在代码中定义它。
同样,此代码是一个示例,仅用于说明如何使用 object 中的属性,仅此而已。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.