如何在不使用循环的情况下计算具有特定值(例如 91
)的向量(例如 [91, 55, 77, 91]
)中的元素(如下图)?
fn count_eq(vec: &Vec<i64>, num: i64) -> i64 {
let mut counter = 0;
for i in vec {
if *i == num {
counter += 1;
}
}
return counter;
}
fn main() {
let v = vec![91, 55, 77, 91];
println!("count 91: {}", count_eq(&v, 91));
}
最佳答案
您可以使用 Iterator::filter
然后 count
它:
fn main() {
let v = vec![91, 55, 77, 91];
println!("count 91: {}", v.iter().filter(|&n| *n == 91).count());
}
关于rust - 如何在不循环的情况下计算具有某个值的向量中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45353757/