arrays - 如何在 Swift 中找到二维数组中所有元素的总和?

标签 arrays swift multidimensional-array

假设我有以下二维数组:

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/

相关文章:

android - 在 App 中使用我自己的类来存储对

php - 在 Loop 中打乱值并与数组连接

delphi - SetLength/Move - 导致内存损坏

javascript - 使用 onClick 从列表中删除单个项目

c# - 当您将对象数组转换为字符串数组时,它叫什么?

c++ - 检查二维网格的元素是否与另一个元素共享对角线、水平线或垂直线

ios - 声音与画外音和 AVFoundation 播放器重叠

swift - 如何根据位置更改 UIPickerView 标题文本颜色

ios - 如何在 watch 套件中显示通知,其中 iPhone 应用程序已经显示通知

Python:从二维列表创建频率表