0

说我们有

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是一个非常大的数组)?

4

0 回答 0