Я использую библиотеку диаграмм ngx для отображения гистограммы. Он отлично работает, когда я использую статический массив, но когда я пытаюсь заполнить его динамически, он не работает.
Ниже приведены мои коды:
Примечание. allProducts — это массив, возвращаемый из API, со списком itemName, AmountPaid, Date Purchase и т. д. Мне нужен только приведенный ниже массив с itemname и оплаченной суммой для заполнения гистограммы с помощью ngxChart.
Когда я использую этот статический массив, все работает нормально:
this.products = [{
"name": this.allProducts[0].itemName,
"value": this.allProducts[0].AmountPaid
},
{
"name": this.allProducts[1].itemName,
"value": this.allProducts[1].AmountPaid
}
,
{
"name": this.allProducts[2].itemName,
"value": this.allProducts[2].AmountPaid
}
,
{
"name": this.allProducts[3].itemName,
"value": this.allProducts[3].AmountPaid
}
,
{
"name": this.allProducts[4].itemName,
"value": this.allProducts[4].AmountPaid
}
,
{
"name": this.allProducts[5].itemName,
"value": this.allProducts[5].AmountPaid
}
];
Когда я пытаюсь создать его динамически, как показано ниже, он не возвращает массив в правильном формате:
this.allProducts.forEach((item) => {
this.productData.push({
"name": item.itemName,
"value": item.grossAmountPaid
});
})
Журнал console.log для статического массива возвращает приведенный ниже правильный формат:
(6) [{…}, {…}, {…}, {…}, {…}, {…}]
0: {name: "Car-SL-Monthly", value: 1000000}
1: {name: "Car-SL-Yearly", value: 1000000}
2: {name: "Car-RB-Monthly", value: 5000}
3: {name: "dsaf", value: 455}
4: {name: "Delivery Van", value: 500000}
5: {name: "Lorry", value: 1000000}
length: 6
__proto__: Array(0)
Динамический массив возвращает следующее: неправильный формат:
Array(6)
0: {name: "Car-SL-Monthly", value: 1000000}
1: {name: "Car-SL-Yearly", value: 1000000}
2: {name: "Car-RB-Monthly", value: 5000}
3: {name: "dsaf", value: 455}
4: {name: "Delivery Van", value: 500000}
5: {name: "Lorry", value: 1000000}
length: 6
__proto__: Array(0)
Что не так с моим циклом foreach и как я могу заставить мой динамический массив (используя foreach) иметь тот же формат, что и статический массив?