【发布时间】:2014-07-03 22:33:01
【问题描述】:
extension Array {
func flatten<T>() -> T[] {
let xs = (self as Any) as Array<Array<T>>
return xs.reduce(T[](), +)
}
}
它有效,但我不确定是否需要所有这些演员表。
有没有更好的办法?
为了比较,here 是 swift 扩展库之一中的实现。我不确定他们是否也已经弄清楚了——他们的实施始于以下评论:
//这里还有一些工作要做
【问题讨论】:
-
如果它有效,那么它属于代码审查,如果它被破坏它属于这里
-
为什么您在至少 2 个堆栈交换网站上发布了这个相同的问题?
-
根本不需要实现
flatten。reduce已经是flatten。join也是如此。