home ~ projects ~ socials

Get Items Between Two Indexes In A Vec In Rust

fn main() {
  let items = vec!["a", "b", "c", "d", "e", "f", "d"];
  let start_index = 2;
  let end_index = 4;

  let selects: Vec<String> = items
                  .iter()
                  .skip(start_index - 1)
                  .take(end_index - start_index + 1)
                  .map(|x| x.to_string())
                  .collect();

  dbg!(selects);

  
}
Output:
[_active_nvim_run:13:3] selects = [
    "b",
    "c",
    "d",
]
-- end of line --