2016-02-25 60 views
0

我是新手,很難將時間放在下面的數組中,然後在每個索引上執行數學表達式,然後打印結果。在Swift中對數組執行數學函數

var projectOne = [ 1, 3, 5, 0, 6] 
for addition in projectOne { 
    print(projectOne "plus 4 is" \projectOne = projectOne + 4) 
} 
+0

您是否想通過在每個索引處的值上加4來變換數組,然後打印變換後的值? – ColGraff

回答

1

你應該在循環中使用加法(數組元素)。你還應該看看蘋果公司的文檔String interpolation

print("\(addition) plus 4 is \(addition + 4)") 

如果你想增加你的陣列中的所有元素,你可以列舉,並添加4到每個元素如下:

for (index,element) in projectOne.enumerate() { 
    projectOne[index] += 4 

    print("\(element) plus 4 is \(element + 4)") 
} 

print(projectOne) // "[5, 7, 9, 4, 10]\n" 
0

一種方式做,這是使用mapclosure改造數組:

var projectOne = [ 1, 3, 5, 0, 6] 
projectOne = projectOne.map() { 
    let newValue = $0 + 4 
    print("\($0) plus 4 is \(newValue)") 
    return newValue 
} 

你也可以使用一個for..in循環是這樣的:

var projectOne = [ 1, 3, 5, 0, 6] 

for (index, value) in projectOne.enumerate() { 
    projectOne[index] += 4 
    print("\(value) plus 4 is \(projectOne[index])") 
} 
+0

你的第二個循環與我已經建議的完全相同 –

+0

是的,它們是相似的。這是解決問題的兩種主要方法之一。 – ColGraff

+0

你可以簡化地圖'projectOne = projectOne.map {$ 0 + 4}' –