Swift中如何将自定义DataModel数组的元素重复指定次数
实现方法
这里给你两种Swift原生的简洁实现方案,都可以直接达到你要的数组重复效果:
方案1:使用repeating初始化器 + 降维拼接
这是写法最简单的方案,直接把原数组作为重复单元,重复指定次数后拼接为一维数组即可:
struct DataModel: Hashable{ var image: String var name: String } var model = [DataModel(image: "1", name: "2"), DataModel(image: "3", name: "4")] // 核心代码:将原数组重复3次后拼接 model = Array(Array(repeating: model, count: 3).joined())
方案2:使用flatMap遍历实现
如果后续需要对重复逻辑做自定义修改,可以用这种更灵活的写法:
// 核心代码:遍历3次,每次返回完整原数组,flatMap自动降维为一维数组 model = (0..<3).flatMap { _ in model }
两种方案最终得到的model数组元素顺序、数量都和你给出的预期效果完全一致。
内容的提问来源于stack exchange,提问作者fatdrogen
相关产品推荐
相关产品推荐

