我有一个包含ID的Array
var ID = ["782", "783", "784", "785", "786", "788", "789", "790", "791", "792", "793", "795", "805"]
还有一个字典字典
Var arr2 = [["ID":"782","AmenitiesURL":"xyx.com"],["ID":"783","AmenitiesURL":"xybx.com"],["ID":"784","AmenitiesURL":"xyax.com"]]
Aslo在图片中看到。现在,我想获取ID的网址。
例如如果arr ID
= 784
然后我想在ID
中找到那个arr2
并得到他们的url
并追加到新数组中,
简而言之,两个数组一个用于ID
,另一个用于URL
。
答案 0 :(得分:0)
您可以使用以下方法来使其正常工作:
main()
输出:
let urls = ID.compactMap { (id) in
return arr2.first(where: {$0["ID"] == id})?["AmenitiesURL"]
}
对于print(urls) //["xyx.com", "xybx.com", "xyax.com"]
中的所有ID,您将从ID array
中获得AmenitiesURL
个值。
答案 1 :(得分:0)
要获取特定ID的URL
let id = "784"
if let dict = arr2.first(where: { $0["ID", default:""] == id }), let urlString = dict["AmenitiesURL"] {
print(urlString)
}
答案 2 :(得分:0)
另一种方法。虽然这个保留了arr2的结构
let filteredArray = arr2.filter { dict -> Bool in
for id in ID{
if dict["ID"] == id{
return true
}
}
return false
}