Swift字典到dictionarys数组

Mis*_*ppi 1 dictionary swift

我在这里简化了字符串和Bools字典:

var dict: [String : Bool] = ["A": true, "B": false, "C": true]
Run Code Online (Sandbox Code Playgroud)

我想转换到字典如下(即字典键和值都将成为另一个字典中值的数组,但每次都会有"身份证"和"启用"的一个新的字典键:

var array = [["id": "A", "enabled": true], ["id": "B", "enabled": false], ["id": "C", "enabled": true]]
Run Code Online (Sandbox Code Playgroud)

我一直无法找到解决方案.什么是最好的方法?

提前致谢.

vac*_*ama 6

使用map的键/值对:

 let dict: [String : Bool] = ["A": true, "B": false, "C": true]

 let array = dict.map { key, value in ["id": key, "enabled": value] }

 print(array)
Run Code Online (Sandbox Code Playgroud)

输出:

[["id": "C", "enabled": true], ["id": "B", "enabled": false], ["id": "A", "enabled": true]]
Run Code Online (Sandbox Code Playgroud)

结果map是一个数组.在这种情况下,它是[[String : Any]]- 带有String键和Any值的字典数组.map在字典上运行会对字典的每个键/值对执行闭包,并返回结果数组的值.在这种情况下,我们返回[String : Any],我们从构建字典keyvalue.