2016-07-02 36 views
0

我覺得這可能需要reduce,map或類似的東西來解決,但我對這些並不熟悉,並且希望這裏可能有人。可以說我有Swift通過在每個索引處使用max()來創建兩個int數組中的一個Int數組

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

什麼,我試圖做的是

mergedArray = [2, 3, 10]

我知道我可以在一個方法具有相對簡單的做到這一點的for循環的預期結果但如果可能的話,我正在尋找一種更「快捷」的方式來做到這一點。

是的,這兩個數組將永遠是相同的長度。

回答

6

這將工作:

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

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

首先,在兩個陣列對中的每個元件與zip,然後使用map到每一對。

+3

甚至更​​短:'zip(arrayOne,arrayTwo).map(max)' –

+0

好點。謝謝。 – OOPer

+0

謝謝你們兩位! – Steve

相關問題