Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
Select your favorite languages :
  • Or search :

Idiom #222 Find first index of an element in list

Set i to the first index in list items at which the element x can be found, or -1 if items does not contain x.

i=items.indexOf(x)
(defn find-index [x items]
  (or (->> items
         (map-indexed vector)
         (filter #(= x (peek %)))
         ffirst) -1))
(defn find-index [x items]
  (reduce-kv
    #(if (= x %3) (reduced %2) %1) -1 items))
i = findloc(items, x)
if (i == 0) i = -1
i := -1
for j, e := range items {
	if e == x {
		i = j
		break
	}
}
import Data.Foldable (find)
import Data.Maybe (fromMaybe)
findIndex x items = fst <$> (find ((==x) . snd) . zip [0..]) items

i = fromMaybe -1 (findIndex x items)
let i = items.indexOf(x);
i := Items.IndexOf(x);
i = items.index(x) if x in items else -1
i = items.index(x) || -1
let opt_i = items.iter().position(|y| *y == x);


let i = match opt_i {
   Some(index) => index as i32,
   None => -1
};
let i = items.iter().position(|y| *y == x).map_or(-1, |n| n as i32);

New implementation...
programming-idioms.org