Skip to content

pick

Returns a new map with only the entries of map whose key is in keys.

Keys that are not in map are ignored.

use helpers4::map::pick;

Cargo feature map (enabled by default). To compile only this module:

cargo add helpers4 --no-default-features --features map

or in Cargo.toml:

[dependencies]
helpers4 = { version = "0.0.5", default-features = false, features = ["map"] }
pub fn pick<K: Clone + Eq + Hash, V: Clone, S: BuildHasher>(
    map: &HashMap<K, V, S>,
    keys: &[K],
) -> HashMap<K, V>
ParameterTypeDescription
map&HashMap<K, V, S>The map to filter.
keys&[K]The keys to keep.

HashMap<K, V>

use helpers4::map::pick;
use std::collections::HashMap;

let user = HashMap::from([("name", 1), ("email", 2), ("password", 3)]);
let public = pick(&user, &["name", "email", "age"]);
assert_eq!(public, HashMap::from([("name", 1), ("email", 2)]));

src/map/pick.rs