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

例如:

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

    

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)")
}

Note:个字典等于unordered个,所以数组的顺序可能不是您所期望的.


Swift 2及更高版本中,也可以使用map:

let arr = myDict.map { "\($0) \($1)" }

这也可以写成:

let arr = myDict.map { "\($0.key) \($0.value)" }

哪怕不是那么短,也更清晰.

Swift相关问答推荐

通过withstickedContinuation传递通用类型T

为什么在Swift属性Wrapper中需要类型注释?

如何获取SCNCamera正在查看的网格点(SCNNode)的局部坐标和局部法线?

在visionOS 1.0中已弃用';base Color';:请改用`Color`属性

仅使用@MainActor注释类的部分时的并发问题

如何在DATE()中进行比较

swift:只要框架名称中有一个带有框架名称的公共实体,就指定框架中公共 struct 的路径

找出touch 点的屏幕亮度

Swift数据关系

如何根据 DatePicker 中选定的日期实现 TabView 页面切换?

Swiftui 按钮依次显示一组图像

Swift 有没有办法在不使用 switch 语句的情况下获取关联值?

如何使 SwiftUI Picker 换行文本

macOS 守护进程应该由Command Line ToolXcode 模板制作吗?

swift中的SequenceType和CollectionType有什么区别?

'NSLog' 不可用:可变参数函数在 swift 中不可用

Swift中switch 盒的详尽条件

两个 Date 对象之间的所有日期 (Swift)

使用相机进行人脸检测

迭代 Firebase 中的子快照