pub fn foreach_while<T, F>(collection: &[T], iteratee: F)Expand description
Execute a function on each item in a collection until the iteratee returns false.
This function iterates over a collection, applying the provided iteratee function
to each item along with its index. If the iteratee returns false, the iteration stops.
§Arguments
collection- A slice of items.iteratee- A function that takes a reference to an item and its index, returning a boolean. Iffalseis returned, the iteration stops.
§Examples
use lowdash::foreach_while;
let numbers = vec![1, 2, 3, 4, 5];
let mut sum = 0;
foreach_while(&numbers, |x, _| {
sum += x;
true
});
assert_eq!(sum, 15);use lowdash::foreach_while;
#[derive(Debug, PartialEq)]
struct Person {
name: String,
age: u32,
}
let people = vec![
Person { name: "Alice".to_string(), age: 25 },
Person { name: "Bob".to_string(), age: 30 },
Person { name: "Carol".to_string(), age: 35 },
];
let mut names = Vec::new();
foreach_while(&people, |p, _| {
names.push(p.name.clone());
true
});
assert_eq!(names, vec!["Alice", "Bob", "Carol"]);use lowdash::foreach_while;
let numbers = vec![10, 20, 30, 40, 50];
let mut collected = Vec::new();
foreach_while(&numbers, |x, index| {
if *x < 35 {
collected.push((*x, index));
true
} else {
false
}
});
assert_eq!(collected, vec![(10, 0), (20, 1), (30, 2)]);