ios - 在 Swift 的几个字典中访问一个键的值

标签 ios swift dictionary

我是 Swift 的新手,我想做的是从两个词典中访问 favorite drink key 并返回两者的值 所以,最喜欢的饮料会返回一系列这样的饮料 ["prune juice", "tea, Earl Grey"]

let worf = [
"name": "Worf",
"rank": "lieutenant",
"information": "son of Mogh, slayer of Gowron",
"favorite drink": "prune juice",
"quote" : "Today is a good day to die."]

let picard = [
"name": "Jean-Luc Picard",
"rank": "captain",
"information": "Captain of the USS Enterprise",
"favorite drink": "tea, Earl Grey"]

let characters = [worf, picard]

func favoriteDrinksArrayForCharacters(characters:Array<Dictionary<String, String>>) -> Array<String> {

let favoriteDrinks = favoriteDrinksArrayForCharacters(characters)
//missing step?
return favoriteDrinks

}

如果这是 objective-c 我会这样做

NSArray *favoriteDrinksForCharacters = [charactersArray valueForKey:@"favorite drink"]; 
return favoriteDrinksForCharacters; 

最佳答案

您可能想使用 map 函数,它将代码应用于集合的每个元素:

return characters.map { $0["favorite drink"]! }

括号部分是closure ,其中可能包含任意复杂的代码。 !是因为字典下标可能返回nil。

关于ios - 在 Swift 的几个字典中访问一个键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386227/

相关文章:

iphone - 更好地使用图像或以编程方式自定义 UINavigationBar?

ios - 支持旧的 iOS 版本

ios - 在联系人 UI 中显示编辑联系人

dictionary - Groovy 映射创建,使用分配给前一个键的值

Python - 从文件加载 JSON 不起作用

ios - iOS 中不区分大小写的本地化

ios - UITableViewCell detailTextLabel 未显示

ios - Firebase 云消息传递 AppDelegate 错误

ios - 为什么我的编译器指令定义无法识别? ( swift )

python - 自定义字典的Python字典更新