我有两本字典:数据字典和结果字典。
var data = ["flushes": 0.0, "times": 0.0, "glasses": 0.0, "showers": 0.0, "brushings": 0.0, "loads": 0.0, "washings": 0.0, "baths": 252.0, "dishes": 0.0]
let results = ["flushes": 21.0, "times": 0.0, "glasses": 0.0, "showers": 150.0, "brushings": 4.0, "loads": 0.0, "washings": 5.0, "baths": 0.0, "dishes": 9.0]
我想知道如何在键的基础上添加类似的值,并且只有一个字典。
发布于 2018-07-29 17:41:40
假设data
是可变的,这应该可以做到:
data.merge(results, uniquingKeysWith: { $0 + $1 })
发布于 2018-07-29 22:13:41
除了Ole`s answer之外,此时还有另外两个-syntactic糖选项:
您可以将其键入如下:
data.merge(results, uniquingKeysWith: +)
或者作为尾随闭包语法:
data.merge(results) { $0 + $1 }
因此:
print(data)
/*
["flushes": 21.0,
"times": 0.0,
"glasses": 0.0,
"showers": 150.0,
"brushings": 4.0,
"loads": 0.0,
"washings": 5.0,
"baths": 252.0,
"dishes": 9.0]
*/
https://stackoverflow.com/questions/51585897
复制