在Swift中添加两个数组的元素而不会一起添加

时间:2017-01-03 23:27:25

标签: arrays swift

是否有一种在Swift中添加两个数组的简洁方法:

IE我想要

let arrayA: [Float] = [1,2,3,4]
let arrayB: [Float] = [10,20,30,40]

let arrayResult:[Float] = arrayA.map({($0) + ***stuck here***})

我希望arrayResult为[11,22,33,44]而不是[1,2,3,4,10,20,30,40],如果你这样做,你会得到:

let arrayResult = arrayA + arrayB

我知道有可能:

for i in arrayA{
  arrayResult[i] = arrayA[i] + arrayB[i]
}

但是必须有一个比使用闭包更简洁的方法(我目前无法完全掌握)

由于

1 个答案:

答案 0 :(得分:9)

确实有一种更简单的方法。 Zip然后映射。

let arrayA: [Float] = [1,2,3,4]
let arrayB: [Float] = [10,20,30,40]

let arrayResult:[Float] = zip(arrayA,arrayB).map() {$0 + $1}

编辑:从下面的评论中看起来更漂亮:

let arrayResult:[Float] = zip(arrayA,arrayB).map(+)