Swift 数组中元素的索引
例如,我有以下课程:Swift 数组中元素的索引,swift,Swift,例如,我有以下课程: class Person: Any { dynamic var name: String = "" dynamic var surname: String = "" } 此外,我还有以下带有“Person”类实例的数组: 有没有一种方法可以获取所有Johns的索引?您可以flatMap将您的人员列表作为枚举列表来返回匹配的偏移量 let indexes = personList.enumerated().flatMap { $1.name == "John
class Person: Any {
dynamic var name: String = ""
dynamic var surname: String = ""
}
此外,我还有以下带有“Person”类实例的数组:
有没有一种方法可以获取所有Johns的索引?您可以
flatMap
将您的人员列表作为枚举列表来返回匹配的偏移量
let indexes = personList.enumerated().flatMap { $1.name == "John" ? $0 : nil }
否则,您可以通过一个简单的for循环来实现这一点
var indexes = [Int]()
for index in personList.indices {
if personList[index].name == "John" {
indexes.append(index)
}
}
print(indexes)
不相关,但是从
Any
继承没有意义,因为Swift中的所有类型都可以表示为Any
,并且Any
不是一个真正的类,因此从它继承没有任何好处。此外,为什么要使用动态关键字,您使用的是领域?如果这样做,您应该通过将继承从对象
替换为任意
来提供真实的代码提取,而不是伪代码提取。
var indexes = [Int]()
for index in personList.indices {
if personList[index].name == "John" {
indexes.append(index)
}
}
print(indexes)