Swift - 使用 map/reduce/flatmap 将数组字典缩减为单个相同类型的数组
Swift - Reducing a Dictionary of Arrays to a single array of same type using map/reduce/flatmap
给出这样的输入:
let m = ["one": ["1","2","3"],
"two":["4","5"]
]
如何使用 map/reduce 来生成如下输出:
["1","2","3","4","5"]
我不是很敏捷,正在尝试学习它,但我似乎无法找到一种有效的方法来完成这个简单的操作。我的详细方法是这样的:
var d = [String]()
for (key, value) in m {
value.forEach { (s) in
d.append(s)
}
}
print(d)
我确定这可以是 1 班轮,有人可以帮忙吗?
你只需要一个flatMap
:
let result = dict.flatMap { _, values in values }
给出这样的输入:
let m = ["one": ["1","2","3"],
"two":["4","5"]
]
如何使用 map/reduce 来生成如下输出:
["1","2","3","4","5"]
我不是很敏捷,正在尝试学习它,但我似乎无法找到一种有效的方法来完成这个简单的操作。我的详细方法是这样的:
var d = [String]()
for (key, value) in m {
value.forEach { (s) in
d.append(s)
}
}
print(d)
我确定这可以是 1 班轮,有人可以帮忙吗?
你只需要一个flatMap
:
let result = dict.flatMap { _, values in values }