我是新手,很難將時間放在下面的數組中,然後在每個索引上執行數學表達式,然後打印結果。在Swift中對數組執行數學函數
var projectOne = [ 1, 3, 5, 0, 6]
for addition in projectOne {
print(projectOne "plus 4 is" \projectOne = projectOne + 4)
}
我是新手,很難將時間放在下面的數組中,然後在每個索引上執行數學表達式,然後打印結果。在Swift中對數組執行數學函數
var projectOne = [ 1, 3, 5, 0, 6]
for addition in projectOne {
print(projectOne "plus 4 is" \projectOne = projectOne + 4)
}
你應該在循環中使用加法(數組元素)。你還應該看看蘋果公司的文檔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"
一種方式做,這是使用map
和closure
改造數組:
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])")
}
你的第二個循環與我已經建議的完全相同 –
是的,它們是相似的。這是解決問題的兩種主要方法之一。 – ColGraff
你可以簡化地圖'projectOne = projectOne.map {$ 0 + 4}' –
您是否想通過在每個索引處的值上加4來變換數組,然後打印變換後的值? – ColGraff