[英]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.