【发布时间】:2014-08-19 08:35:41
【问题描述】:
在 Swift 中是否有与 Scala、Xtend、Groovy、Ruby 和 co 中的 flatten 对应的对象?
var aofa = [[1,2,3],[4],[5,6,7,8,9]]
aofa.flatten() // shall deliver [1,2,3,4,5,6,7,8,9]
当然我可以为此使用 reduce,但这有点糟糕
var flattened = aofa.reduce(Int[]()){
a,i in var b : Int[] = a
b.extend(i)
return b
}
【问题讨论】:
-
这不是像使用数组的添加对象吗?
-
我还没有研究 Swift 本身,但在 Haskell 和 F# 中它是`concat` - 所以可能看起来像这样命名的东西? - 我相当肯定这是在某个地方(大多数 FP 语言。知道关于 monad,这是 List 的绑定)
-
是的,在haskell中它实际上被称为concat。
-
你应该接受andreschneider's answer。
标签: swift