【发布时间】:2021-09-06 01:09:19
【问题描述】:
例子:
let a = [a1, a2, a3]
let b = [b1, b2]
let c = [c1, c2, c3, c4]
我需要以下结果:
[a1, b1, c1, a2, b2, c2, a3, c3, c4]
a1, b1, ... - 任何相同类型的对象
我目前的解决方案是创建这些数组的可变副本,并按指定顺序在每个数组上依次调用popFirst,直到所有数组都变空。
但是是否有可能通过使用内部 Swift 功能而无需手动迭代来解决此任务?比如像下面的代码:
[a, b, c].map { ... }.filter { ... }.reduce ...
【问题讨论】:
-
合并后输出是否排序?
-
@TusharSharma 结果 a2 总是以 [a1, b1, c1, a2, ...] 的形式出现。例如,如果 b 数组为空,则结果应为 [a1, c1, a2, ...]。换句话说,结果存储了初始数组中元素的相对顺序,但最后没有应用额外的排序。
标签: arrays swift array-merge