【发布时间】:2023-03-18 01:20:01
【问题描述】:
考虑下面的代码:
let dict = [
"key1" : 1,
"key2" : 2,
"key3" : 3,
"key4" : 4,
"key5" : 5
]
let array = dict.map{$0}
for item in array {
print(item)
}
您从打印语句中得到的是:
("key2", 2)
("key3", 3)
("key4", 4)
("key5", 5)
("key1", 1)
字典中的键/值对被转换为元组。我本来希望得到一组单值字典。
为什么 map 语句将我的项目转换为元组,这种行为记录在哪里?
使用以下代码将元组数组转换回字典数组是一件简单的事情:
let array = dict.map{[$0.0:$0.1]}
...但我试图理解为什么 map 首先给了我元组。
【问题讨论】:
-
不是我的反对意见,但我猜这是由于缺乏研究。我通过命令单击
Dictionary并在模块中搜索iterator找到了答案。 -
我在这里处于劣势,因为我不知道要搜索什么。我确实花了至少 1/2 小时试图弄清楚,但失败了。我没有意识到 map 函数依赖于 Dictionary 的迭代器。现在我知道这一点是有道理的,但我不知道要寻找什么。
-
¯\_(ツ)_/¯ 这是堆栈溢出,我放弃了质疑开车再见的投票。
-
如果我的问题或答案在某种程度上缺乏,我不介意被否决 - 只要有人发表建设性的批评。然而,路过的投票真的让我很恼火。
标签: swift dictionary map-function