どうも、ちょげ(@chogetarou)です。
Vec(ベクタ)の要素のインデックス(index)を検索する方法を紹介します。
方法

Vec(ベクタ)の要素のインデックス(index)を検索するには、position()を使います。
まず、Vec(ベクタ)からiter()、iter()からposition()を呼び出します。
position()の引数に1つの引数を持つクロージャーを指定します。
クロージャーで引数と検索したい要素を比較します。
そして、position()からunwrap()を呼び出します。
//vect=対象のベクタ, item=検索したい要素
let index = vect.iter().position(|&x| x == item).unwrap();
上記のunwrap()は、引数と比較したVec(ベクタ)の要素のインデックスを検索し、取得します。
使用例
fn main() {
let numbers = vec!["one", "two", "three", "four", "five"];
let index = numbers.iter().position(|&item| item == "three").unwrap();
println!("{}", index);
}
出力:
2
コメント