node.js - 如何在nodejs中对特定的字典值求和
问题描述
我正在研究nodejs。如何从列表字典中求出具有高级字典键值的金额?
traveler = [
{ description: 'Senior', Amount: 50},
{ description: 'Senior', Amount: 50},
{ description: 'Adult', Amount: 75},
{ description: 'Child', Amount: 35},
{ description: 'Infant', Amount: 25 },
];
expected result = {"senior": 100, "Adult":75}
解决方案
您可以使用如下的 reduce 函数:
traveler.reduce((prevValue, t) => {
return Object.assign(prevValue, { [t.description]: (prevValue[t.description] || 0) + t.Amount })
}, {});
在此处阅读减少功能:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
推荐阅读
- java - Hibernate 生成额外的表
- oracle - 如何在 Oracle 中执行与 LISTAGG 相反的操作
- javascript - 为什么我的反应路由器不工作?点击时 URL 发生变化,但在 DOM 上不显示
- c++ - 如何将 C++ 中的 VT100 转义序列打印到 Windows 终端?
- python - 如何用 Python pptx 替换 PPP 中的文本?
- arrays - 如何获取输出结果在括号中的数组,如 [1][2][3] 到 [1 2 3]
- javascript - 使用纯 Java 脚本单击旁边的按钮后如何删除每个项目
- android - 是否可以在android中将一个设备共享屏幕到另一台设备?
- android - 如何更改现有的 .apk 应用程序 ID?
- python - ValueError:输入 0 与层 lstm_14 不兼容:预期 ndim=3,发现 ndim=2