我想通过将字典的每个[String : Int]显示为数组中的字符串来将字典转换为数组。

例如:

var myDict: [String : Int] = ["attack" : 1, "defend" : 5, "block" : 12]

我知道myDict.keys.arraymyDict.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/

10-12 14:37