我有一个数组:
var placeID = ["55667","44568"]
字典:
var placeDict = ["USA" : "55667",
"Canada" : "44568"
]
我想用placeDict中的国家/地区名替换placeID对象。
所以问题是:如果placeID的值与placeDict中的值匹配,我希望它需要替换为国家/地区名称。
任何想法怎么做?
答案 0 :(得分:0)
这是你想做的非常基础的事情。在包含地点和ID的字典上只需map
,并在匹配时返回国家/地区的名称。 foundPlaceIDS
应包含您需要的结果。
var placeIDs = ["55667","44568"]
var placeDict = ["USA" : "55667",
"Canada" : "44568"]
var foundPlaceIDs = placeDict.flatMap { (placeName, placeID) -> String? in
return placeID.contains(placeID) ? placeName : nil
}
print(foundPlaceIDs) // Prints USA, Canada
答案 1 :(得分:0)
请尝试下面的代码,这很容易理解:
var placeID = ["55667","44568"]
var placeDict = ["USA" : "55667",
"Canada" : "44568"]
for (key, value) in placeDict {
for i in 0 ..< placeID.count {
if placeID[i] == value {
placeID[i] = key
}
}
}
print(placeID) // -> ["USA", "Canada"]