假设我有以下2d数组:
let my2dArray = [[01, 02, 03, 04],
[05, 06, 07, 08],
[09, 10, 11, 12],
[13, 14, 15, 16]]
获取其中所有元素的总和的最简单方法是什么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
请注意,my2dArray.joined()
它不会创建另一个数组,而是会创建一个FlattenBidirectionalCollection<Array<Array<Int>>>
允许向前和向后顺序访问项的,但不会分配新的存储。当然,Array(my2dArray.joined())
如果您希望查看数组格式的外观,可以这样做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句