如何在一组结构实例中查找某些属性的匹配项?

克里斯

我正在Swift 3中尝试结构,并尝试提取/打印一些值。这是我的代码:

struct person {
    var name: String
    var gender: String
    var age: Int
}

var people = [
    person(
        name: "Steve",
        gender: "Male",
        age: 25
    ),
    person(
        name: "Paul",
        gender: "Male",
        age: 30
    ),
    person(
        name: "Sandra",
        gender: "Female",
        age: 21
    ),
    person(
        name: "Becky",
        gender: "Female",
        age: 30
    ),
    person(
        name: "Trevor",
        gender: "Male",
        age: 45
    )
]

我了解到,age如果提供,我可以找到一个人的name

let nameToSearch = "Trevor"

if let i = people.index(where: {$0.name == nameToSearch}) {
    print("\(nameToSearch) is aged \(people[i].age)") // Trevor is aged 45
}

最好的方法是...

1)捕获组中的四个最老的人,按年龄将它们按降序排序,然后像这样打印它们?

Trevor is aged 45
Paul is aged 30
Becky is aged 30
Steve is aged 25

2)捕获genderis的所有实例"Male",并像这样打印它们?

The males are Steve, Paul, Trevor

出于兴趣,假设用户正在执行导致获取/设置现有实例以及添加/删除实例的操作,person那么people阵列中是否存在大量实例,这些实例会导致应用性能受到打击?

凯文

招募4岁老人的简洁方法:

let oldestPeople = people.sorted(by: { $0.0.age > $0.1.age })[0 ..< 4]
for person in oldestPeople {
    print("\(person.name) is aged \(person.age)")
}

并获得男性名字:

let maleNames = people.filter({ $0.gender == "Male" }).map({ $0.name })
print("The males are " + maleNames.joined(separator: ", "))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 C++ 中查找一组结构

来自分类Dev

在Django中查找一组相关项

来自分类Dev

如何从Python中的一组列表中找到最长的匹配项?

来自分类Dev

在一组单词中查找匹配的短语

来自分类Dev

如何从一组功能依赖项中删除冗余属性?

来自分类Dev

如何在一组名称相同的元素中查找特定的字符串

来自分类Dev

TSQL-从一组行中获取第一个匹配项

来自分类Dev

如何在Scala中从一组String中产生一组Char

来自分类Dev

如何在 Ocaml 中为一组布尔变量生成一组值

来自分类Dev

如何在for循环中为R中的预定义结构的一组现有变量应用函数?

来自分类Dev

在一组元素中查找元素

来自分类Dev

在一组4个数字中查找重复项的有效方法

来自分类Dev

在一组4个数字中查找重复项的有效方法

来自分类Dev

Grep表示从$ START到$ END的一组行,并且在$ MIDDLE中包含匹配项

来自分类Dev

JAVA:如何在嵌套的JSONString中查找子字符串的所有匹配项并替换为某些文本

来自分类Dev

如何在组中查找重复项-SQL 2008

来自分类Dev

如何在Cognos中每页限制一组?

来自分类Dev

如何在XSLT 1.0中引用一组文件?

来自分类Dev

如何在Cognos中每页限制一组?

来自分类Dev

如何在StackPanel中包装一组TextBlocks?

来自分类Dev

如何在表中执行一组存储过程

来自分类Dev

如何在活动中循环一组视图?

来自分类Dev

如何在Swift中删除一组节点?

来自分类Dev

如何在Oracle中合并一组记录?

来自分类Dev

如何在python中创建并保留一组变量?

来自分类Dev

如何在Swift中解码一组继承的类

来自分类Dev

如何在Ubuntu中重命名一组文件

来自分类Dev

如何在活动中循环一组视图?

来自分类Dev

如何在StackPanel中包装一组TextBlocks?

Related 相关文章

  1. 1

    在 C++ 中查找一组结构

  2. 2

    在Django中查找一组相关项

  3. 3

    如何从Python中的一组列表中找到最长的匹配项?

  4. 4

    在一组单词中查找匹配的短语

  5. 5

    如何从一组功能依赖项中删除冗余属性?

  6. 6

    如何在一组名称相同的元素中查找特定的字符串

  7. 7

    TSQL-从一组行中获取第一个匹配项

  8. 8

    如何在Scala中从一组String中产生一组Char

  9. 9

    如何在 Ocaml 中为一组布尔变量生成一组值

  10. 10

    如何在for循环中为R中的预定义结构的一组现有变量应用函数?

  11. 11

    在一组元素中查找元素

  12. 12

    在一组4个数字中查找重复项的有效方法

  13. 13

    在一组4个数字中查找重复项的有效方法

  14. 14

    Grep表示从$ START到$ END的一组行,并且在$ MIDDLE中包含匹配项

  15. 15

    JAVA:如何在嵌套的JSONString中查找子字符串的所有匹配项并替换为某些文本

  16. 16

    如何在组中查找重复项-SQL 2008

  17. 17

    如何在Cognos中每页限制一组?

  18. 18

    如何在XSLT 1.0中引用一组文件?

  19. 19

    如何在Cognos中每页限制一组?

  20. 20

    如何在StackPanel中包装一组TextBlocks?

  21. 21

    如何在表中执行一组存储过程

  22. 22

    如何在活动中循环一组视图?

  23. 23

    如何在Swift中删除一组节点?

  24. 24

    如何在Oracle中合并一组记录?

  25. 25

    如何在python中创建并保留一组变量?

  26. 26

    如何在Swift中解码一组继承的类

  27. 27

    如何在Ubuntu中重命名一组文件

  28. 28

    如何在活动中循环一组视图?

  29. 29

    如何在StackPanel中包装一组TextBlocks?

热门标签

归档