1 个稳定版本
1.0.0 | 2022年7月23日 |
---|
#57 in #remove
6KB
vec_remove_if
根据提供的条件从向量中提取元素
项目由 SnS Development 提供
问题
需要通过可变借用从现有向量中过滤一些元素
解决方案
在 Vec<T>
上实现了一个 trait,包含 2 个函数 remove_if
和 swap_remove_if
,这些函数遍历元素,运行提供的闭包,并移除闭包返回 [true] 的元素。
示例
use vec_remove_if::VecRemoveIf;
let mut v = vec![1, 12, 3, 14, 5, 16, 7, 18];
assert_eq!(
vec![12, 14, 16, 18],
v.remove_if(|e| e > &10)
);
assert_eq!(
vec![1, 3, 5, 7],
v
);
许可证:MIT