Bird
Raised Fist0
DSA Typescriptprogramming~10 mins

Why Hash Map Exists and What Problem It Solves in DSA Typescript - Test Your Knowledge

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a simple key-value store using a hash map.

DSA Typescript
const map = new Map<string, number>();
map.set('apple', [1]);
console.log(map.get('apple'));
Drag options to blanks, or click blank then click option'
A5
B'five'
Ctrue
Dnull
Attempts:
3 left
💡 Hint
Common Mistakes
Using a string instead of a number as the value.
Using a boolean or null which are not expected here.
2fill in blank
medium

Complete the code to check if a key exists in the hash map.

DSA Typescript
if (map.[1]('apple')) {
  console.log('Key exists');
}
Drag options to blanks, or click blank then click option'
Acontains
Bexists
Chas
Dfind
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'find' which is not a Map method.
Using 'contains' or 'exists' which do not exist on Map.
3fill in blank
hard

Fix the error in the code to retrieve a value safely from the hash map.

DSA Typescript
const value = map.get('banana');
if (value [1] undefined) {
  console.log('Value:', value);
} else {
  console.log('No value found');
}
Drag options to blanks, or click blank then click option'
A!==
B!=
C==
D===
Attempts:
3 left
💡 Hint
Common Mistakes
Using == or != which allow type coercion.
Using === which checks equality, not inequality.
4fill in blank
hard

Fill both blanks to create a hash map from an array of keys with initial value 0.

DSA Typescript
const keys = ['a', 'b', 'c'];
const map = new Map<string, number>(keys.map(key => [key, [1]]));
console.log(map.get([2]));
Drag options to blanks, or click blank then click option'
A0
B'a'
C'b'
D'c'
Attempts:
3 left
💡 Hint
Common Mistakes
Using a string instead of number 0 as initial value.
Using a key not in the keys array.
5fill in blank
hard

Fill all three blanks to update a hash map value by incrementing it safely.

DSA Typescript
const count = map.get('x') [1] 0;
map.set('x', count [2] 1);
console.log(map.get('x') === [3]);
Drag options to blanks, or click blank then click option'
A||
B+
C1
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Not handling undefined value before increment.
Using subtraction instead of addition.
Checking against wrong expected value.

Practice

(1/5)
1. Why do we use a Hash Map instead of a simple list to store key-value pairs?
easy
A. Because it allows fast lookup of values by keys
B. Because it stores data in sorted order automatically
C. Because it uses less memory than a list
D. Because it can only store numbers

Solution

  1. Step 1: Understand the problem with lists

    Lists require checking each item one by one to find a value by key, which is slow for large data.
  2. Step 2: How hash maps solve this

    Hash maps use a special function to find the exact place of a key quickly, making lookup fast.
  3. Final Answer:

    Because it allows fast lookup of values by keys -> Option A
  4. Quick Check:

    Fast key lookup = Because it allows fast lookup of values by keys [OK]
Hint: Hash maps speed up key-based searches [OK]
Common Mistakes:
  • Thinking hash maps sort data automatically
  • Believing hash maps use less memory always
  • Assuming hash maps only store numbers
2. Which of the following is the correct way to create a hash map (Map) in TypeScript?
easy
A. const map = new Map();
B. const map = Map();
C. const map = new map();
D. const map = new Map(); string, number;

Solution

  1. Step 1: Recall TypeScript Map syntax

    In TypeScript, a Map is created using new Map<KeyType, ValueType>().
  2. Step 2: Check each option

    const map = new Map(); uses correct syntax with new Map<string, number>(). Others have syntax errors or wrong casing.
  3. Final Answer:

    const map = new Map<string, number>(); -> Option A
  4. Quick Check:

    Correct Map creation syntax = const map = new Map<string, number>(); [OK]
Hint: Use 'new Map<KeyType, ValueType>()' to create hash maps [OK]
Common Mistakes:
  • Omitting 'new' keyword
  • Using lowercase 'map' instead of 'Map'
  • Incorrect generic syntax
3. What will be the output of the following TypeScript code?
const map = new Map();
map.set('apple', 5);
map.set('banana', 3);
map.set('apple', 10);
console.log(map.get('apple'));
medium
A. Error
B. 5
C. undefined
D. 10

Solution

  1. Step 1: Understand map.set behavior

    When setting a key that already exists, the value is updated to the new one.
  2. Step 2: Trace the code

    First 'apple' is set to 5, then updated to 10. So map.get('apple') returns 10.
  3. Final Answer:

    10 -> Option D
  4. Quick Check:

    Updated value for 'apple' = 10 [OK]
Hint: Last set value for a key overwrites previous [OK]
Common Mistakes:
  • Assuming first value remains
  • Thinking get returns undefined if key repeated
  • Expecting error on duplicate keys
4. Identify the error in this TypeScript code that tries to use a hash map:
const map = new Map();
map['key'] = 'value';
console.log(map.get('key'));
medium
A. map.get() cannot be used to retrieve values
B. Map constructor requires key and value types
C. Using bracket notation to add key-value pairs does not work with Map
D. Map keys must be numbers only

Solution

  1. Step 1: Understand how to add entries to Map

    Map entries must be added using map.set(key, value), not bracket notation.
  2. Step 2: Analyze the code behavior

    Using map['key'] = 'value' adds a property to the object, not a Map entry, so map.get('key') returns undefined.
  3. Final Answer:

    Using bracket notation to add key-value pairs does not work with Map -> Option C
  4. Quick Check:

    Use map.set() to add entries [OK]
Hint: Use map.set() to add entries, not bracket notation [OK]
Common Mistakes:
  • Adding entries with bracket notation
  • Expecting map.get() to find bracket-added keys
  • Thinking Map keys must be numbers
5. You want to count how many times each word appears in a list of words using a hash map in TypeScript. Which approach correctly solves this problem?
hard
A. Use a Set to store words and count size for each word
B. Use a Map, for each word check if it exists, then increment or set to 1
C. Use a Map with word as value and count as key
D. Use an array and push words, then count duplicates manually later

Solution

  1. Step 1: Understand the counting problem

    We need to store each word as a key and count as a value, so Map<string, number> fits well.
  2. Step 2: How to update counts

    For each word, check if it exists in the map; if yes, increment count, else set count to 1.
  3. Step 3: Why other options fail

    Use an array and push words, then count duplicates manually later is inefficient and manual. Use a Map with word as value and count as key swaps key and value wrongly. Use a Set to store words and count size for each word's Set only stores unique words without counts.
  4. Final Answer:

    Use a Map<string, number>, for each word check if it exists, then increment or set to 1 -> Option B
  5. Quick Check:

    Counting words = Map with word keys and number counts [OK]
Hint: Map keys = words, values = counts; increment or set 1 [OK]
Common Mistakes:
  • Using Set which can't count duplicates
  • Swapping key and value types in Map
  • Counting manually with arrays inefficiently
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard