Ahm*_*d F 3 arrays multidimensional-array swift
假设我有以下二维数组:
let my2dArray = [[01, 02, 03, 04],
[05, 06, 07, 08],
[09, 10, 11, 12],
[13, 14, 15, 16]]
Run Code Online (Sandbox Code Playgroud)
获得 中所有元素的总和的最简单方法是什么my2dArray?
假设输出应该是:
01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + 14 + 15 + 16 = 136
一种方法是使用joined()展平数组,然后reduce对其求和:
let my2dArray = [[01, 02, 03, 04],
[05, 06, 07, 08],
[09, 10, 11, 12],
[13, 14, 15, 16]]
let result = my2dArray.joined().reduce(0, +)
print(result) // 136
Run Code Online (Sandbox Code Playgroud)
请注意,它my2dArray.joined()不会创建另一个数组,而是创建一个FlattenBidirectionalCollection<Array<Array<Int>>>允许向前和向后顺序访问项目的数组,但它不会分配新的存储空间。Array(my2dArray.joined())如果您想查看数组格式的外观,您当然可以这样做。