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

Idiom #12 Check if list contains a value

Check if list contains a value x.
list is an iterable finite container.

Illustration
list.indexOf(x) !== -1
list.includes(x)
with Ada.Containers.Vectors;
Result := Items.Contains (X);
#include <stdbool.h>
bool contains(int x, int* list, size_t list_len) {
    for (int i=0 ; i<list_len ; i++)
        if (list[i] == x)
            return true;
    return false;
}
(some (partial = x) list)
#include <vector>
bool Contains(vector<T> list, T x)
{
	for (vector<T>::iterator it = list.begin() ; it != list.end() ; ++it)
	{
		if (*it == x)
			return true;
	}
	return false;
}
-2
#include <vector>
#include <algorithm>
bool Contains(const std::vector<int> &list, int x)
{
	return std::find(list.begin(), list.end(), x) != list.end();
}
2
System.Collections.Generic
list.Contains(item);
import std.algorithm.searching;
bool here = canFind(items, x);
list.contains(x);
Enum.member?(list, x)
1
lists:member(X, List).
func Contains(list []T, x T) bool {
	for _, item := range list {
		if item == x {
			return true
		}
	}
	return false
}
x `Data.Foldable.elem` list
import java.util.List;
list.contains(x)
1
boolean contains(int[] list, int x){
  for(int y:list)
    if( y==x )
      return true;
  return false;
}
boolean <T> contains(T[] list, T x){
  if( x==null){
    for(T y:list)
      if( y==null )
        return true;
  }else{
    for(T y:list)
      if( x.equals(y) )
        return true;
  }
  return false;
}
-2
function contains(list, x)
	for _, v in pairs(list) do
		if v == x then return true end
	end
	return false
end
in_array ($x, $list, true);
uses classes;
result := list.IndexOf(x) <> -1;
result := false;
for e in list do 
	if e=x then
		begin
			result := true;
			break;
		end
# To check an array for a value:
print "Found 'foo'\n" if grep { $_ eq 'foo' } @a_list;

# To check a map for a value:
print "Found 'bar'\n" if exists $map{bar};
x in list
list.include?( x )
list.contains(&x);
list.iter().any(|v| v == &x)
(&list).into_iter().any(|v| v == &x)
val items: Seq[String] = List("a", "b", "c")
items.contains("a")
(define (contains list x)
    (cond 
        ((null? list) #f)
        ((eq? (car list) x) #t)
        (else (contains (cdr list) x))))

Do you know the best way to do this in your language ?
New implementation...

Idiom created by

programming-idioms.org

Related idioms