好吧,这应该不会太困难,但周日早上证明我错了......斯威夫特Array中只有一个项目有一个特定的值
我有一个结构Array
,并希望删除只有一个struct,用于将其名称属性与String
匹配。例如:
struct Person {
let name: String
}
var myPersons =
[Person(name: "Jim"),
Person(name: "Bob"),
Person(name: "Julie"),
Person(name: "Bob")]
func removePersonsWith(name: String) {
myPersons = myPersons.filter { $0.name != name }
}
removePersonsWith(name: "Bob")
print(myPersons)
结果:
[Person(name: "Jim"), Person(name: "Julie")]
但我怎么只删除一个鲍勃?
告诉我什么区分两个鲍勃,然后我会告诉你如何。但如果没有,你可以设置一个布尔标志,所以一旦过滤器设置为false,它将退出循环 – Honey
这两个Bob完全相同,它们是彼此的克隆,但我只想删除其中的一个。 – Koen
我只是好奇,你为什么要这样的功能?它是否删除重复?或者是其他东西? – Honey