Swift通过在每个索引处获取max()从两个int数组创建一个Int数组

时间:2016-07-02 23:47:02

标签: arrays swift

我觉得这可能需要reducemap或类似的东西来解决,但我还不熟悉这些并希望有人在这里。可以说我有

arrayOne = [1, 3, 7] arrayTwo = [2, 1, 10]

我尝试做的预期结果将是

mergedArray = [2, 3, 10]

我知道我可以通过一个方法中相对简单的for循环来做到这一点,但我正在寻找更多" swift"如果可能的话,可以这样做。

是的,两个数组的长度始终相同。

1 个答案:

答案 0 :(得分:6)

这将有效:

let arrayOne = [1, 3, 7]
let arrayTwo = [2, 1, 10]

let mergedArray = zip(arrayOne, arrayTwo).map{max($0, $1)}

首先,使用zip将两个数组中的每个元素配对,然后对每对使用map