假设我有一个字符串数组:
var array: [String] = ["a", "a", "b", "c", "c", "c", "d", "d"]
在数组中,我有 4 次 a
、1 次 b
、3 次 c
和 2 次 d
.
我想将 a
的值从 4 更新为 7,将 c
的值从 3 更新为 1。
我希望单个字符串在数组中的最大次数最多为 10 次。
我试着用这个来做:
for _ in 0..<10 {
if array.contains("a") {
if let index = array.index(of: "a") {
array.remove(at: index)
}
}
}
for _ in 0..<7 {
array += ["a"]
}
首先,在一个运行 10 次的循环中,我每次都检查数组是否仍包含 a
,如果是,则将其删除。之后,我运行一个循环 7 次,这个循环每次都会向数组中添加另一个 a
值,直到数组中应该有 7 个 a
为止。
这不是真正发生的事情。真正发生的是它将数组中的所有对象替换为 a
,并且肯定运行 更多 超过 7 次。
我能做些什么来解决它?
最佳答案
我建议使用字典。当前的这种方法并不是很有效。
var dict = [
"a": 4,
"b": 8
]
这样您就可以更新每个字母的值,而不必在数组中重复它们。要设置字典值,您可以使用下标:
dict["a"] = 2
这似乎更适合您的尝试。
关于arrays - 在 Swift 中更新数组中的字符串数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44099592/