使用javascript从阵列计算季度销售额和平均值
需要以对象格式计算季度销售额和平均值使用javascript从阵列计算季度销售额和平均值,javascript,Javascript,需要以对象格式计算季度销售额和平均值 var saleItem=[{“月”:“一月”,“日期”:“1”,“交易ID”:“1”,“salePrice”:“100”},{“月”:“2”,“salePrice”:“200”},{“月”:“3”,“日期”:“1”,“交易ID”:“3”,“salePrice”:“300”;“月”:“4”,“四月”,“日期”:“1”,“交易ID”:“4”,“salePrice”:“300”;“月”:“5月”,“日期”:“1”,“交易ID”:“4”,“salePrice:”
var saleItem=[{“月”:“一月”,“日期”:“1”,“交易ID”:“1”,“salePrice”:“100”},{“月”:“2”,“salePrice”:“200”},{“月”:“3”,“日期”:“1”,“交易ID”:“3”,“salePrice”:“300”;“月”:“4”,“四月”,“日期”:“1”,“交易ID”:“4”,“salePrice”:“300”;“月”:“5月”,“日期”:“1”,“交易ID”:“4”,“salePrice:”300“,”月份“,”日期“:”1“,”交易ID:”4“,”salePrice:”300“,”月份“,”交易ID:”4“,”salePrice:”300“,”月份“,”日期“,”4“,”salePrice:”300“,”月份“,”9月“,”日期“,”1“,”交易ID:”4“,”salePrice:”300“,”月份“,”10月“,”日期“,”1“,”交易ID:”4“,”salePrice:“300”},{“月份”:“11月”,“日期”:“1”,“交易ID”:“4”,“salePrice”:“300”},{“月份”:“12月”,“日期”:“1”,“交易ID”:“4”,“salePrice”:“300”}]
功能getSumQuarterly(销售项目){
//应该输出
/*
{季度:1,总价:xx,成交金额:1},
{季度:2,总价:xx,成交金额:1},
{季度:3,总价:xx,成交金额:1},
{季度:4,总价:xx,成交金额:1},
*/
}
函数getAverageQuarterly(销售项目){
}
这是请求的代码
var saleItem = [{"month":"January","date":"1","transactionId":"1","salePrice":"100"},{"month":"February","date":"1","transactionId":"2","salePrice":"200"},{"month":"March","date":"1","transactionId":"3","salePrice":"300"},{"month":"April","date":"1","transactionId":"4","salePrice":"300"},{"month":"May","date":"1","transactionId":"4","salePrice":"300"},{"month":"June","date":"1","transactionId":"4","salePrice":"300"},{"month":"July","date":"1","transactionId":"4","salePrice":"300"},{"month":"August","date":"1","transactionId":"4","salePrice":"300"},{"month":"September","date":"1","transactionId":"4","salePrice":"300"},{"month":"October","date":"1","transactionId":"4","salePrice":"300"},{"month":"November","date":"1","transactionId":"4","salePrice":"300"},{"month":"December","date":"1","transactionId":"4","salePrice":"300"}]
function getSumQuarterly (saleItems) {
var sum = [{
totalPrices: 0,
quarter: 1,
transactionNums: 1
}];
var thisQuarterIndex = 0;
saleItems.forEach(function (item, index) {
var quarterIndex = Math.floor(index/3);
if (quarterIndex === thisQuarterIndex) {
sum[quarterIndex]['totalPrices'] = sum[quarterIndex]['totalPrices'] + parseInt(item.salePrice, 10);
} else {
thisQuarterIndex = quarterIndex;
sum.push({});
sum[quarterIndex]['totalPrices'] = parseInt(item.salePrice, 10);
sum[quarterIndex]['quarter'] = quarterIndex + 1;
sum[quarterIndex]['transactionNums'] = 1;
}
});
return sum;
}
function getAverageQuarterly(saleItems) {
var sum = getSumQuarterly(saleItems);
var avg = [];
sum.forEach(function (quarter) {
avg.push(quarter.totalPrices/3);
});
return avg;
}
请提供您迄今为止尝试过的代码。此外,我在
saleItem
对象中没有看到任何月份的多笔交易,如果只有一笔交易,那么为什么您需要结果中的transactionNums
?