配列(リスト)から特定の値の要素を探してそのインデックスを取得するには (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