是否有一种在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]
}
但是必须有一个比使用闭包更简洁的方法(我目前无法完全掌握)
由于
答案 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(+)