我正在使用嵌套字典数据结构来跟踪一堆NSLayoutConstraint
s,[String: [String: NSLayoutConstraint]]
是否具体。但是对于我的情况,让我们考虑以下更简单的例子:
var myNestedDictionary = [String: [Int: Double]]()
myNestedDictionary["squares"] = [1: 1.0, 2: 4.0, 3: 9.0, 4: 16.0]
myNestedDictionary["cubes"] = [1: 1.0, 2: 8.0, 3: 27.0, 4: 64.0]
myNestedDictionary["factorials"] = [1: 1.0, 2: 2.0, 3: 6.0, 4: 24.0]
如何提取{{1>}所有值,不 键值对的一个词典条目,例如如何从[Double]
获取[1.0, 8.0, 27.0, 64.0]
?
答案 0 :(得分:1)
最简单的方法是将字典映射到数组:
let values = myNestedDictionary["cubes"]?.map({$0.1})
这不一定会坚持按键隐含的顺序,因为字典是无序的。如果要保持升序,可以先对键进行排序,然后使用映射中的排序键:
let values = myNestedDictionary["cubes"]?.keys.sort().flatMap {myNestedDictionary["cubes"]![$0]!}