[Ruby]配列(array)の値からインデックスを取得するには?

Ruby

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

配列(array)の特定の値からインデックスを取得する方法を紹介します。

スポンサーリンク

方法

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

配列(array)の特定の値からインデックスを取得する方法は、2つあります。

indexメソッド

1つは、indexメソッドを使う方法です。

まず、配列からindexメソッドを呼び出します。

indexメソッドの引数に値を指定します。

#arr=対象の配列, value=値
index = arr.index(value)

上記のindexメソッドは、呼び出した配列(array)から引数の値のインデックスを取得します。

indexメソッドは、引数ではなくブロックを使うこともできます。

ブロックを使う場合は、ブロックで値の条件を返します。

#condition=値の条件
index = arr.index{ |x| condition }

使用例

names = ["Taro", "Jiro", "Saburo", "Siro", "Goro"]

jiro_index = names.index("Jiro")
goro_index = names.index("Goro")

p jiro_index
p goro_index
出力:
1
4

find_index

もう1つは、find_indexメソッドを使う方法です。

まず、配列メソッドからfind_indexメソッドを呼び出します。

そして、find_indexメソッドの引数に値を指定します。

#arr=対象の配列, value=値
index = arr.find_index(value)

上記のfind_indexメソッドは、呼び出した配列(array)から引数の値のインデックスを取得します。

find_indexメソッドは、引数ではなくブロックを使うこともできます。

ブロックを使う場合は、ブロックで値の条件を返します。

#condition=値の条件
index = arr.find_index{ |x| condition }

使用例

names = ["Taro", "Jiro", "Saburo", "Siro", "Goro"]

jiro_index = names.find_index("Jiro")
goro_index = names.find_index("Goro")

p jiro_index
p goro_index
出力:
1
4

まとめ

配列(array)の特定の値からインデックスを取得する方法は、2つあります。

  • indexメソッドを使う方法
    index = arr.index(value)
  • find_indexメソッドを使う方法
    index = arr.find_index(value)

コメント

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