Logo

Programming-Idioms

  • JS
  • C++

Idiom #52 Check if map contains value

Determine whether the map m contains an entry with the value v, for some key.

Is this value contained in this map, for any key?
#include <algorithm>
std::find_if(m.begin(), m.end(), [v](const auto& mo) {return mo.second == v; }) != m.end();

c++ 14

A lambda expression is used because built-in functions would search by key, not by value.
Object.values(m).includes(v)

JavaScript objects are hashmaps.
Object.values() converts a hashmap to a list of values.
Array#includes then checks whether v is included.
[...m.values()].includes(v)

Unlike the previous implementation, this works for Map objects rather than normal Objects.
(boolean (some #{v} (vals m)))

In Clojure values are truthy/falsy

no need for boolean, however included due to other language examples

New implementation...