TSM*_*TSM 4 dictionary ios swift swift5
我有一本字典,我想按键的最后一个字符进行分组。这是字典:
var displayValues = ["volume_1": 1, "price_2": 6, "price_1": 2, "stock_1": 3, "volume_2": 5, "stock_2": 7]
Run Code Online (Sandbox Code Playgroud)
这是我用来对它们进行分组的代码
let groupValues = Dictionary(grouping: displayValues) { $0.key.last! }
print(groupValues)
Run Code Online (Sandbox Code Playgroud)
这是这段代码的结果
["2": [(key: "price_2", value: 6), (key: "volume_2", value: 5), (key: "stock_2", value: 7)], "1": [(key: "volume_1", value: 1), (key: "price_1", value: 2), (key: "stock_1", value: 3)]]
Run Code Online (Sandbox Code Playgroud)
分组是正确的,但是,如何从字典中删除单词key和value以便它显示以下内容?
[
"2": ["price_2": 6, "volume_2" : 5, "stock_2": 7],
"1": ["volume_1": 1, "price_1": 2, "stock_1": 3]
]
Run Code Online (Sandbox Code Playgroud)
你快到了!!
现在你有你想要的键和作为元组数组的值
您可以使用 new 将元组数组转换为字典 reduce(into:)
完整代码将是
var displayValues = ["volume_1": 1, "price_2": 6, "price_1": 2, "stock_1": 3, "volume_2": 5, "stock_2": 7];
let dict = Dictionary(grouping: displayValues) { $0.key.suffix(1)}
let final = dict. mapValues { value in
return value.reduce(into: [:]) { $0[$1.key] = $1.value }
}
print(final)
Run Code Online (Sandbox Code Playgroud)
输出 :
[“2”:[“price_2”:6,“volume_2”:5,“stock_2”:7],“1”:[“price_1”:2,“stock_1”:3,“volume_1”:1]]
| 归档时间: |
|
| 查看次数: |
304 次 |
| 最近记录: |