我在这里简化了字符串和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)
我一直无法找到解决方案.什么是最好的方法?
提前致谢.
使用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)
输出:
Run Code Online (Sandbox Code Playgroud)[["id": "C", "enabled": true], ["id": "B", "enabled": false], ["id": "A", "enabled": true]]
结果map是一个数组.在这种情况下,它是[[String : Any]]- 带有String键和Any值的字典数组.map在字典上运行会对字典的每个键/值对执行闭包,并返回结果数组的值.在这种情况下,我们返回[String : Any],我们从构建字典key和value.
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |