ios - 我可以对字典中具有相同键的值求和吗
问题描述
我有一本这样的字典:
let dic: KeyValuePairs = ["foo":2,"bar":3,"bat":5, "foo":5,"bat":7,"bar":5]
我想要具有相同键的值的总和。
输出应如下所示:
["foo":7, "bar":8, "bat":12]
解决方案
KeyValuePairs
回应reduce
所以你可以这样做
let dic: KeyValuePairs = ["foo":2,"bar":3,"bat":5, "foo":5,"bat":7,"bar":5]
let result : [String:Int] = dic.reduce(into: [:]) { (current, new) in
current[new.key] = new.value + (current[new.key] ?? 0)
}
推荐阅读
- node.js - MongoDB GridFs:grid.mongo.ObjectID 不是构造函数
- python-3.x - 来自 Django 模板中来自同一父级的其他子级的访问列
- latex - 在单独的 .yaml 文件中添加 header-includes 和 fancyhdr “breaks” pandoc
- mysql - 如果日期不为空或为空,如何获取开始日期和到期日期之间的数据?
- java - 进程构建器偶尔在运行 Linux 命令时挂起
- python - 语音识别在树莓派上不起作用
- javascript - 使用动态创建的按钮加载 Bootstrap 模态表单
- css - 基于用户名长度的 CSS 缩放文本
- ruby-on-rails - Rails ActiveRecord嵌套查询不返回所有对象
- angular - 如何为角材质树添加支线?