「Swift5」mergeメソッドで辞書をマージするサンプル
環境
Swift-5.2.3-RELEASE
Ubuntu 20.04.2 LTS
構文
辞書変数A.merge( 辞書変数B ){ (current, _) in current }
マージ結果をマージに使用した変数に代入します。
辞書A.merge( 辞書B ) の場合、マージ結果は辞書Aに代入されます。
同じキーがある場合、辞書Aと辞書B どちらの値を使用するかはクロージャで指定します。
使用例
var cftA = [ "tokyo": 11 , "oosaka": 22, "fukuoka":33 ] var cftB = [ "fukuoka": 44, "yokohama": 55 ] print("重複キーはcftAの要素を使用する") cftA.merge( cftB ){ (current, _) in current } print("マージ結果cftA") print( cftA ) print("マージ結果cftB") print( cftB ) print("重複キーはcftBの要素を使用する") cftA.merge( cftB ){ (_, new) in new } print(cftA) print( cftB )
実行結果
$ swift test4.swift 重複キーはcftAの要素を使用する マージ結果cftA ["fukuoka": 33, "oosaka": 22, "tokyo": 11, "yokohama": 55] マージ結果cftB ["fukuoka": 44, "yokohama": 55] 重複キーはcftBの要素を使用する ["fukuoka": 44, "oosaka": 22, "tokyo": 11, "yokohama": 55] ["fukuoka": 44, "yokohama": 55]