配列(リスト)から特定の値の要素を探してそのインデックスを取得するには (array_search / find_index / index / indexOf / lastIndexOf / rindex) 2015/01/11
関連
Java 2016/07/07
Signature:
要素が見つからなかった場合は -1 を返す。
複数ある場合は indexOf は最初の要素のインデックスを返し、 lastIndexOf は最後の要素のインデックスを返す。
要素の比較は equals メソッドで行われる。
Scala 2014/05/17
Signature:
要素が見つからなかった場合は -1 を返す。(Option[Int]じゃないところがちょっと気持ち悪い)
複数ある場合は最初の要素のインデックスを返す。
indexOfメソッドでの要素の比較はequalsメソッドで行われる。
PHP 2013/06/11
array_search($nemo, $arr)
見つからなかった場合は false を返す。0 を返す場合と区別するために以下のように === または !== での比較が必要。
if(array_search($nemo, $arr) === false){
...
}
array_search 関数 | PHP Manual
http://php.net/manual/ja/function.array-search.php
Python 2013/10/03
例
lst.index(nemo);
要素が見つからなかった場合はエラーを吐く。
複数ある場合は最初の要素のインデックスを返す。
Ruby / JRuby 2015/01/04
Array#index または Array#find_index を使う。2つはまったく同じで、引数に値を渡すと、== で要素と比較して最初に見つかったインデックスを返す。ブロックを渡すと、要素を引数として要素ごとにブロックが評価されて、trueを返した最初のインデックスを返す。
Array#rindex は逆に最後から順番に探す。
見つからなかった場合は nil を返す。
arr = [10, 20, 30, 40, 50]
p arr.index(20)
# => 1
p arr.index(60)
# => nil
p arr.index { |v| v % 7 == 2 }
# => 2
Array#index, Array#find_index | Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/find_index.html
Array#rindex | Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/rindex.html