我想通过将字典的每个[String : Int]
显示为数组中的字符串来将字典转换为数组。
例如:
var myDict: [String : Int] = ["attack" : 1, "defend" : 5, "block" : 12]
我知道
myDict.keys.array
和myDict.values.array
,但我希望它们一起显示在数组中。这就是我的意思:var myDictConvertedToArray = ["attack 1", "defend 5", "block 12"]
提前致谢。
最佳答案
您可以使用for循环遍历字典键/值对来构造数组:
var myDict: [String : Int] = ["attack" : 1, "defend" : 5, "block" : 12]
var arr = [String]()
for (key, value) in myDict {
arr.append("\(key) \(value)")
}
注意:字典是无序的,因此数组的顺序可能与预期的不一样。
在 Swift 2 及更高版本中,也可以使用
map
完成此操作:let arr = myDict.map { "\($0) \($1)" }
也可以写成:
let arr = myDict.map { "\($0.key) \($0.value)" }
如果不是那么短,那会更清楚。
关于ios - 如何将字典转换为数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31845421/