在具有最大属性的数组中查找项

时间:2016-03-14 21:04:00

标签: rust

我有这样的结构

struct Point {
    pub x: i32,
    pub y: i32,
}

impl Point {
    fn new(x: i32, y: i32) -> Self {
        Point { x, y }
    }
}

像这样的数组

[Point::new(1, 1), Point::new(4, 2), Point::new(2, 9)];

如何从此数组中提取最大point.x的项目?

1 个答案:

答案 0 :(得分:6)

使用Iterator::max_by_key

let a = [Point::new(1, 1), Point::new(4, 2), Point::new(2, 9)];
let max = a.iter().max_by_key(|p| p.x);

还有Iterator::min_by_key