假设我有以下二维数组:
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())
如果您想查看它在数组格式中的外观。
关于arrays - 如何在 Swift 中找到二维数组中所有元素的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41292792/