转换2D阵列

时间:2018-09-04 11:29:19

标签: ios swift swift4

我有一个包含整数数组的数组,如下所示:

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

我想遍历此问题,并将count> 2的任何数组转换为只有两个成员。在上面的示例中,[1,2,3]会变成[1,2]或[2,3]或[1,3]我不会大惊小怪,仅删除了其中一位数字。

我已经尝试过嵌套,但是由于它使数组成为常数,因此我无法在此循环内对其进行变异,并且我简要地研究了map,filter和reduce,但是我似乎找不到找到一种方法来利用它们来使它起作用。任何想法都很棒!

1 个答案:

答案 0 :(得分:2)

您可以使用suffix(_ maxLength:)prefix(_ maxLength:)。 下面的示例:

let array = [[1,2], [1,2,3], [1], [1]]
let result = array.map { Array($0.suffix(2)) }
print(result)
// it prints: [[1, 2], [2, 3], [1], [1]]