Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Go

Idiom #222 Find the 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.

import "slices"
i := slices.Index(items, x)

This generic func slices.Index works for all slice types
i := -1
for j, e := range items {
	if e == x {
		i = j
		break
	}
}

Explicit loop, for your own strongly typed helper func.
(defn find-index [x items]
  (or (->> items
           (map-indexed vector)
           (filter #(= x (peek %)))
           ffirst)
      -1))

New implementation...
programming-idioms.org