UNPKG

es-toolkit

Version:

A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.

34 lines (33 loc) 982 B
import { eq } from "../compat/util/eq.mjs"; //#region src/map/hasValue.ts /** * Checks if a Map contains a specific value. * * This function iterates through all values in the Map and checks if any value * is equal to the search element using SameValueZero comparison (similar to * Array.prototype.includes). This means that NaN is considered equal to NaN. * * @template K - The type of keys in the Map. * @template V - The type of values in the Map. * @param map - The Map to search. * @param searchElement - The value to search for. * @returns true if the Map contains the value, false otherwise. * * @example * const map = new Map([ * ['a', 1], * ['b', 2], * ['c', 3] * ]); * const result = hasValue(map, 2); * // result will be: true * * const result2 = hasValue(map, 5); * // result2 will be: false */ function hasValue(map, searchElement) { for (const value of map.values()) if (eq(value, searchElement)) return true; return false; } //#endregion export { hasValue };