Swift 中是否有 flatten 对应的 Scala、Xtend、Groovy、Ruby 和 co 中的 0x251812231343141?

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 >= 3.0

reduce:

let numbers = [[1,2,3],[4],[5,6,7,8,9]]
let reduced = numbers.reduce([], +)

flatMap:
let numbers = [[1,2,3],[4],[5,6,7,8,9]]
let flattened = numbers.flatMap { $0 }

joined:
let numbers = [[1,2,3],[4],[5,6,7,8,9]]
let joined = Array(numbers.joined())

swift - 在 Swift 中展平数组-LMLPHP

关于swift - 在 Swift 中展平数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24465281/

10-12 14:45
查看更多