gpt4 book ai didi

swift - 在 Set 中迭代和修改 Struct

转载 作者:行者123 更新时间:2023-11-28 10:05:57 25 4
gpt4 key购买 nike

我有一个 SetInts:

var mySet = Set<Int>()

mySet.insert(1)
mySet.insert(2)
// ....

// How to iterate over it and, for example, add 1 to each element?
for (index, _) in mySet.enumerated() {
// How to subscript? A set is unordered!
}

我想修改 mySet 并对其进行一些额外的计算。如何修改 mySet 中的每个元素?我可以创建另一个临时 mySet Set 并向该 Set 添加副本,然后将临时 mySet Set 分配给原始 mySet ,但我想知道是否还有其他更好的方法。

// Ugly method?
var mySetTemp = Set<Int>()

for value in mySet {
mySetTemp.insert(value + 1)
}

mySet = mySetTemp

有没有一种方法可以在不创建额外对象的情况下执行上述操作,只是为了在 StructsSet 迭代中修改原始值?

Set 是一个 Array 时,我可以通过索引下标元素轻松地做到这一点,但由于 Sets 是无序的,我可以不做。

最佳答案

您可以将 mySet 分配为映射 mySet 转换为 Set

mySet = Set(mySet.map { $0 + 1 })

关于swift - 在 Set 中迭代和修改 Struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53839372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com