我是 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/