javascript - 如果第二个数组匹配,则对第一个数组中的数字求和
问题描述
我有 2 个如下所示的数组:
amountArray = ["200","150","500","100"];
currencyArray = ["EUR","EUR","USD","USD"];
如果第二个数组匹配,我想从第一个数组中求和。我想得到的结果:
totalAmount = "350 EUR | 600 USD";
解决方案
您可以使用 aMap
来收集相同的货币并获得合并的值。
let amounts = ["200", "150", "500", "100"],
currencies = ["EUR", "EUR", "USD", "USD"],
result = Array
.from(
currencies.reduce(
(m, c, i) => m.set(c, (m.get(c) || 0) + +amounts[i]),
new Map
),
([k, v]) => [v, k].join(' ')
)
.join(' | ');
console.log(result);
推荐阅读
- google-cloud-firestore - firebase-functions 上的 firebase-admin 无法正确初始化 App
- swift - SwiftUI:在我看来,文本被“...”截断
- python - 如何在python中使用硒单击与另一个元素相同的元素?
- python - 在 os.system 使用 subprocess.call 中的文件输入时不起作用
- java - 从 Firebase 存储下载 url 是“com.google.android.gms.tasks.zzu@441922b”,不显示
- linux - 用于使用 xargs 对另一个命令生成的搜索文本的一个命令的输出进行 grep 的一个衬垫
- javascript - 未在移动浏览器上检索会话存储
- android - 共享内存方法是否通过活页夹进行进程间通信?
- amazon-web-services - 如何为具有自控证书的 AWS S3 终端节点启用 TLS?
- javascript - 转换:translateY(-50%) 无法正常工作