swift - 如何通过以函数方式乘以另一个数组来创建数组?

标签 swift

<分区>

我想创建一个数组,其中包含另一个数组中的元素乘以某个 Int 值。

例子:

下面的代码

let arr = [1,2,3]
let multiplier = 3
print(function(arr, multiplier))

应该返回

[1,2,3,1,2,3,1,2,3]

我知道如何使用嵌套 for 循环实现它,但我正在寻找一些漂亮的函数式方法。我在考虑 map() 函数,但它迭代给定数组的每个元素,我想这不是我的用例。

最佳答案

主要思想:

  1. 创建数组的数组,
  2. flatMap 到一维数组。

例子:

let arr = [1, 2, 3]
let multiplayer = 3
print(Array(repeating: arr, count: multiplayer).flatMap({ $0 }))

关于swift - 如何通过以函数方式乘以另一个数组来创建数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46052928/

相关文章:

ios - swift 4.0 中的 Storyboard本地化

swift - Obj-C CocoaPods + Swift 框架

ios - 让和内存分配

arrays - Swift 中每隔一个奇数数组

ios - 当应用程序未运行时收到推送通知时执行代码

Swift 调用静态方法 : type(of: self) vs explicit class name

ios - 当我在真实设备中频繁推送/返回 View Controller 时出现错误 "Index out of range"- Swift

swift - 在 swift 4 中将 TableView 添加到 AlertController

ios - Swift Binary 被拒绝,我无法重现崩溃

swift - 在调整父容器的大小之前,自动布局约束不会对子控件生效(快速)