1
私は以下の2つの辞書を併合したいと思います。配列をSwiftの値として辞書をマージする4
var dict1 = ["May 21": [1,2],
"May 22": [3,4]]
var dict2 = ["May 22": [5,6],
"May 23": [7,8]]
これは私が探している結果である:私はスウィフト4で新マージ()関数を見つけた
["May 21": [1, 2],
"May 22": [3, 4, 5, 6],
"May 23": [7, 8]]
:
dict1.merge(dict2, uniquingKeysWith: { (old, _) in old })
しかし、もちろんのウォンのもの配列を適切にマージするのではなく、単に新しい値または古い値で置き換えてください。
これを行うには甘い方法がありますか、いくつかのクロージャを使用していますか?私は&値このようなすべてのキーを通してだけループもちろんできますが、これは少し汚れているようだ:
func mergeDicts(dict1: [String: [Int]], dict2: [String: [Int]]) -> [String: [Int]] {
var result = dict1
for (key, value) in dict2 {
if let resultValue = result[key] {
result[key] = resultValue + value
} else {
result[key] = value
}
}
return result
}
すばやく返信いただきありがとうございます。 – vfxdev