How do I count the elements in a vector (e.g. [91, 55, 77, 91]
) with a certain value (e.g. 91
) without using a loop (as shown below)?
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));
}
You can use Iterator::filter
and then count
it:
fn main() {
let v = vec![91, 55, 77, 91];
println!("count 91: {}", v.iter().filter(|&n| *n == 91).count());
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With