arrays - 在包含自定义类的数组中查找值

标签 arrays swift

我试图在包含结构的数组中找到一个值的位置。 我的数组看起来像这样

struct User {
var firstName: String?
var lastName: String?
}

var allThePeople = [User(firstName: "John", lastName: "Doe"), User(firstName: "Jane", lastName: "Doe"), User(firstName: "John", lastName: "Travolta")];

有没有办法获取数组中所有“Doe”的位置? (在本例中为 0 和 1)

最佳答案

您可以使用条件过滤 allThePeople 以获取所有姓氏为“Doe”的人。

let allTheDoes = allThePeople.filter { $0.lastName == "Doe" }

您可以枚举数组并将其平面映射到索引数组。

let allTheDoeIndexes = allThePeople.enumerated().flatMap { $0.element.lastName == "Doe" ? $0.offset : nil }
                     = allThePeople.enumerated().flatMap { $1.lastName == "Doe" ? $0 : nil }

关于arrays - 在包含自定义类的数组中查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40262668/

相关文章:

java - 对数组进行排序不需要比较第一个元素(java编程)?

c - 使用数组和堆栈进行十进制到二进制转换

php - Jquery循环遍历php数组,点击API并将结果推送到mysql

java - 循环浏览窗口中的颜色

ios - swift ios 如何在 swift 中访问 AnyHashable 数据

ios - 当我尝试在 viewDidLoad 中设置 IBOutlet 元素时,它们为零

ios - 检查数组是否具有相同的纬度经度 swift

java - 与数组中的特定元素交互;加工3

ios - 导航 Controller 工具栏不显示 UIBarButtonItem

swift - Swift 中 “+=” 运算符的内存安全