gpt4 book ai didi

ios - Swift - 基于键的映射字典

转载 作者:行者123 更新时间:2023-11-28 12:39:53 24 4
gpt4 key购买 nike

考虑字典:

var dict : [String : String]! = ["12" : "This", "5" : "is", "52" : "a", "42" : "Test"]

var keys = Array(dict.keys)

var values : [String]! = [String]()
for (_, key) in keys.enumerated() {
values.append(dict[key]!)
}

Array(dict.values) 会产生与上面相同的结果吗?

有没有更简单的方法来根据映射字典而不是枚举它们?

询问是因为我想使用相同的 来映射不同的字典 的值。

PS:不用排序

已编辑

考虑下面的 json :

{
"data": {
"forecast_numbers": {
"15": 6397822,
"20": 985448,
"76": 2499160,
"130": 4480161
},
"actual_numbers": {
"15": 6344454,
"20": 1645125,
"76": 1644789,
"130": 2451170
},
"accuracy": {
"15": -0.83415887469204,
"20": 66.941837621062,
"76": -34.18632660574,
"130": -45.288350128489
},
"xaxis": {
"15": "ABC",
"20": "BCD",
"76": "BNM",
"130": "NNN"
}
}
}

我想根据 xaxis 值绘制 forecast_numbersactual_numbers values。想知道除了使用 enumerated() 获取值之外是否还有其他方法?

最佳答案

看到更新后的示例,您的目的还不够清楚,但是如果您只想收集每个相同键的值,您可以这样写:

let data = json["data"] as! [String: [String: Any]]
let result = data["xaxis"]!.map {($0.key, $0.value, data["forecast_numbers"]![$0.key]!, data["actual_numbers"]![$0.key]!)}
print(result) //->[("130", NNN, 4480161, 2451170), ("20", BCD, 985448, 1645125), ("76", BNM, 2499160, 1644789), ("15", ABC, 6397822, 6344454)]

假设您在 json 中将 JSON 数据作为 [String: AnyObject]

(同时假设您的 json 从未包含一些损坏的数据。似乎使用了太多 !。)

关于ios - Swift - 基于键的映射字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39704181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com