我做了字典。
let fruits = ["aa":"apple", "bb":"banana", "gg":"grapes" ]
我有一个数组,其中包含相同的'fruits'键
let fruitsKeys = ["aa", "bb", "gg"]
我想通过使用数组'fruitsKey'中的元素逐一检查字典'fruits'来获取'fruits'值数组。
该数组看起来像
fruitsValue = ["apple", "banana", "grapes"]
如何获取字典中“数组中的键”的值?
答案 0 :(得分:2)
要获取键值数组的对应值数组,请使用compactMap
创建数组:
let fruits = ["aa":"apple", "bb":"banana", "gg":"grapes" ]
let fruitsKeys = ["aa", "bb", "gg"]
let fruitsValue = fruitsKeys.compactMap { fruits[$0] }
print(fruitsValue)
["apple", "banana", "grapes"]
注释:
nil
,而compactMap
会将其忽略。答案 1 :(得分:0)
在这种情况下,如果只需要所有水果值,则不需要通过遍历fruitsKeys
进行搜索。只需像这样遍历所有值即可:
for fruit in fruits {
fruitsValue.append(fruit.value)
}
如果您需要基于fruitsKeys
中的可用键来获取值,则迭代可能是这样的:
for fruit in fruits {
if fruitsKeys.contains(fruit.key) {
fruitsValue.append(fruit.value)
}
}