swift - 如何在 Swift 中找到结构中的最高 Int

标签 swift struct

假设我有一个结构,例如:

struct TestStruct {
    var name: String
    var rank: Int
}

var foo1 = [TestStruct]()

foo1 中查找最高 rank 值的最有效方法是什么?是否可以在 Struct 上使用 maxElement()

最佳答案

是的,您可以使用 Swift 2:

let max = foo1.maxElement({ $0.rank < $1.rank })

这是一个数据示例:

struct TestStruct {
    var name = ""
    var rank: Int
    init(rank: Int) {
        self.rank = rank
    }
}

let foo1 = [TestStruct(rank: 2), TestStruct(rank: 5), TestStruct(rank: 12)]

let mx = foo1.maxElement({ $0.rank < $1.rank })

print(mx!) // TestStruct(name: "", rank: 12)

编辑

使用 Swift 1.2,您必须重载运算符,就像 Kametrixom 的答案一样,然后您将编写

maxElement(foo1)

而不是

foo1.maxElement()

关于swift - 如何在 Swift 中找到结构中的最高 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31438422/

相关文章:

c++如何在结构 vector 的一个字段上创建迭代器

c++ - 为什么结构数组不需要成员运算符?

ios - 将静态参数添加到 Swift 中的#selector

swift - JSQMessageViewController : fatal error: Index out of range

iOS 在 didSelectItemAtIndexPath 处展开 CollectionView

ios - UIAlert 和 View Controller 的错误

c - 如何用C语言的结构体数组实现插入排序?

c: 不允许使用类型名称

c - 结构体中的可变长度数组

ios - 来自任何地方的初始 View Controller