has(key) {

        // first, ensure the key is valid
        assertNonEmptyString(key);

        /*
         * Next, calculate the hash code from the string key. The hash code
         * is then used to determine the index into the array where the data
         * should be stored.
         */
        const hashCode = hashCodePoints(key);
        const index = getArrayIndexFromHashCode(hashCode);

        /*
         * Special case: If the calculated index in the array hasn't yet
         * been initialized, then the key doesn't exist. Return
         * `false` to indicate the key doesn't exist.
         */
        if (this[array][index] === undefined) {
            return false;
        }

        /*
         * If we've made it to here, then there is a linked list in the
         * array at this location, so try to find the key that matches.
         */
        const resultIndex = this[array][index].findIndex((value) => {
            return value.key === key;
        });

        /*
         * Any value greater than -1 indicates that the key was found in the
         * hash map and therefore this method should return `true`.
         */
        return resultIndex > -1;
    }
Determines if a given key is present in the hash map.
@param {string} key The key to check.
@returns {boolean} True if the key exists in the hash map, false if not.
@throws {TypeError} If the key isn't a non-empty string.