他の2つの配列の要素に二項演算を適用して配列を作成するSwiftの簡潔な方法はありますか?
例えば:
let a = [1, 2, 3]
let b = [4, 5, 6]
let c = (0..<3).map{a[$0]+b[$0]} // c = [5, 7, 9]
他の2つの配列の要素に二項演算を適用して配列を作成するSwiftの簡潔な方法はありますか?
例えば:
let a = [1, 2, 3]
let b = [4, 5, 6]
let c = (0..<3).map{a[$0]+b[$0]} // c = [5, 7, 9]
zipを使用して要素を結合する場合は、次のように参照でき+
ます+
。
let a = [1, 2, 3]
let b = [4, 5, 6]
let c = zip(a, b).map(+) // [5, 7, 9]
アップデート:
indices
次のように使用できます。
for index in a.indices{
sum.append(a[index] + b[index])
}
print(sum)// [5, 7, 9]
(アレクサンダーのコメントのおかげで、これはより良いです。なぜなら、element
それ自体を扱う必要はなく、単に扱うだけだからですindex
)
古い答え:
列挙してインデックスを取得できます。
var sum = [Int]()
for (index, _) in a.enumerated(){
sum.append(a[index] + b[index])
}
print(sum)// [5, 7, 9]