javascript - 如何通过cpf获得销售的总结果?
问题描述
我想按 CPF 将总销售额加起来,我设法将 CPF 分开,但我现在忘记了如何计算总和,请参阅下面的代码
var vendas = [{cpf: "14382435021", amount: 34.5 }, { cpf: "79785337006", amount: 12 }, { cpf: "79785337006", amount: 23.16 }, { cpf: "14382435021", amount: 46.4 }, { cpf: "88835414059", amount: 26.2 }, { cpf: "88835414059", amount: 199.9 }, { cpf: "79785337006", amount: 18.16 } ]
var resultados = {};
for(var i = 0; i < vendas.length; i++){
if(vendas[i].cpf){
if(!resultados[vendas[i].cpf]){
resultados[vendas[i].cpf] = []
}
resultados[vendas[i].cpf].push(vendas[i]);
}
}
console.log(resultados)
解决方案
<script>
var vendas = [{cpf: "14382435021", amount: 34.5 }, { cpf: "79785337006", amount: 12 }, { cpf: "79785337006", amount: 23.16 }, { cpf: "14382435021", amount: 46.4 }, { cpf: "88835414059", amount: 26.2 }, { cpf: "88835414059", amount: 199.9 }, { cpf: "79785337006", amount: 18.16 } ]
var result = [];
vendas.reduce(function(res, value) {
if (!res[value.cpf]) {
res[value.cpf] = { cpf: value.cpf, amount: 0 };
result.push(res[value.cpf])
}
res[value.cpf].amount += value.amount;
return res;
}, {});
console.log(result)
</script>
推荐阅读
- tags - 如何在页面博客上隐藏条目标签标签?
- javascript - 具有静态和实例方法的类
- reactjs - 如何从另一台计算机访问 create-react-app?
- mysql - 如何启用mysql插件的调试?
- python - 如何在模型构建时更改 keras 张量值
- python-requests - requests.get("url address").raise_for_status() 在 requests 包中的作用是什么?
- c# - Unity + Ink/Inkle:如何加载保存的故事状态 JSON
- javascript - 即使我在代码中分配了 e.preventDefault() ,为什么仍会出现右键单击上下文面板?
- java - 如何获取不同用户的唯一 ID 和唯一子节点并使用 FirebaseRecyclerOptions 将其显示给 recycelrview?
- javascript - Google Sheets API 获取合并单元格的值