[Rust]Vec(ベクタ)の要素のインデックスを検索するには?

Rust

どうも、ちょげ(@chogetarou)です。

Vec(ベクタ)の要素のインデックス(index)を検索する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

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

コメント

タイトルとURLをコピーしました