Swiftで配列の全ての値を集計する方法について記載します。
目次
全ての値を集計する方法
配列の全ての値を集計するには reduce メソッド を使用します。
引数
第一引数:累積初期値(加算の場合は0、乗算の場合は1で大丈夫)
第二引数:計算式
戻り値
計算結果
1. 全ての要素の合計値を計算
次の例では、配列の要素値( 1 〜 5 )を全て加算します。
1 2 3 4 |
let nums1 = [1,2,3,4,5] let result1 = nums1.reduce(0, { x, y in x + y}) print(result1) // 15 |
第一引数の累積初期値を 0 で指定しているため、厳密には 0 + 1 + 2 + 3 + 4 +5 という計算を行っています。
次の例は、累積初期値を 5 で指定しているため、先ほどと計算結果が異なります。
1 2 3 4 5 |
let nums1 = [1,2,3,4,5] // 合計値(初期累積値が5) let result2 = nums1.reduce(5, { x, y in x + y}) print(result2) // 20 |
累積初期値が 5 のため、5 + 1 + 2 + 3 + 4 + 5 という計算が行われます。
2. 全ての要素の積を計算
積を求める場合は、累積初期値を 1 で指定します。
1 2 3 4 5 |
let nums1 = [1,2,3,4,5] // 積を求める let result3 = nums1.reduce(1, { x, y in x * y }) print(result3) // 120( 1 * 1 * 2 * 3 * 4 * 5 ) |