说我们有
struct item {
var val = 0
}
var items = [item]()
items.append(item(val: 0))
items.append(item(val: 1))
items.append(item(val: 2))
这段代码显然是不可能的,因为i
它是一个let
常数:
for i in items {
i.val += 10
}
有效的是这种冗长的循环:
for i in 0..<items.count {
items[i].val += 10
}
和这张地图:
items = items.map { item(val:$0.val + 10) }
两种解决方案对我来说都不是很“迅速”。任何想法如何让它们看起来更好?
另外,我想知道完成这项任务的最高效的方法是什么(假设items
是一个非常大的数组)?