不确定我是否说得对,无论如何我有一个整数数组。
我需要在数组中的每个项目中添加/乘/除/减去一个值。
所以这样:
从
开始var listOfInts = [1, 2, 3, 4, 5, 6]
并为每个项目添加3,结果为
listOfInts = [4,5,6,8,9]
我将如何做到这一点?
任何帮助都会非常感激,这一直令人沮丧,因为我通常可以自己弄清楚这些事情,但我对Swift来说相对较新。
答案 0 :(得分:7)
映射到新数组:
var newListOfInts = listOfInts.map({ $0 + 3 })
变异相同的数组:listOfInts = listOfInts.map({ $0 + 3 })
答案 1 :(得分:4)
如果你想改变你的数组而不是创建一个新数组(比如map
那样),只需使用for
循环来遍历并更改每个索引的值:
var listOfInts = [1, 2, 3, 4, 5, 6]
for i in 0 ..< listOfInts.count {
listOfInts[i] += 3
}
print(listOfInts) // prints "[4, 5, 6, 7, 8, 9]"
这可以写成这样的单行:
(0 ..< listOfInts.count).forEach { listOfInts[$0] += 3 }
如果您需要使用该值执行更多操作,可以使用enumerate()
访问一系列(index, value)
元组:
// Example: Replace each element with 60/value
listOfInts.enumerate().forEach { (i, v) in listOfInts[i] = 60 / v }
// This is the equivalent using a for loop
for (i, v) in listOfInts.enumerate() {
listOfInts[i] = 60 / v
}