【发布时间】:2020-07-22 15:41:28
【问题描述】:
我正在尝试获取平均价格,将价格相乘并将嵌套对象数组的数量相加,但我不知道如何获得正确的结果,有人可以帮忙。提前致谢
数组类型:
[
CreatAsset_kcnuvkr7: (3) [{…}, {…}, {…}]
CreatAsset_kcop95ya: (2) [{…}, {…}]
CreatAsset_kcoprqc4: (3) [{…}, {…}, {…}]
CreatAsset_kcqjmhyh: (5) [{…}, {…}, {…}, {…}, {…}]
]
对象数据:
[
{
latestPrice: { stringValue: 207.88 },
purchaseDate: { stringValue: "1594829893159" },
purchaseQty: { stringValue: "50" },
waterMark: { stringValue: "CreatAsset_kcnuvkr7" }
},
{
latestPrice: { stringValue: 9.88 },
purchaseDate: { stringValue: "1593868712336" },
purchaseQty: { stringValue: "30.00" },
waterMark: { stringValue: "CreatAsset_kcnuvkr7" }
},
{
latestPrice: { stringValue: 98.8 },
purchaseDate: { stringValue: "1594829859268" },
purchaseQty: { stringValue: "100" },
waterMark: { stringValue: "CreatAsset_kcnuvkr7" }
}
];
我想要的结果:
(totalPrice = latestPrice * purchaseQty ), (avgPrice = (latestPrice index[0] + latestPrice index[1] + latestPrice index[2] / 3)
{
avgPrice: {
stringValue: 105.52
}
totalPurchaseQty: {
stringValue: "180"
}
totalPrice1: {
stringValue: "10394.00"
}
totalPrice2: {
stringValue: "296.40"
}
totalPrice3: {
stringValue: "9880.00"
}
waterMark: {
stringValue: "CreatAsset_kcnuvkr7"
}
}
我的代码:
(result is the Array type of above)
let latestPrice = [];
for (let i in result) {
if (result.hasOwnProperty(i)) {
result[i].map((res) => {
latestPrice.push({
latestPrice: res.latestPrice.stringValue,
waterMark: res.waterMark.stringValue,
});
});
}
}
【问题讨论】:
-
请将您的代码重新格式化为有效的 JSON 或 JavaScript。
-
您说您希望
avgPrice是每个latestPrice的总和除以每个purchaseQty的总和,但在您的示例中,您实际上将其计算为每个latestPrice的总和除以数组的长度。 -
@GirkovArpa 是的,你是对的,对不起,我要编辑
标签: javascript arrays ecmascript-6 javascript-objects