Bird
Raised Fist0
DSA Javascriptprogramming~10 mins

Why Hash Map Exists and What Problem It Solves in DSA Javascript - 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 an empty hash map (object) in JavaScript.

DSA Javascript
const hashMap = [1];
Drag options to blanks, or click blank then click option'
A{}
B[]
Cnull
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using square brackets creates an array, not a hash map.
Using null or 0 does not create a hash map.
2fill in blank
medium

Complete the code to add a key-value pair to the hash map.

DSA Javascript
hashMap[[1]] = 'apple';
Drag options to blanks, or click blank then click option'
Afruit
B'apple'
C'fruit'
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using unquoted keys like fruit will look for a variable named fruit.
Using the value 'apple' as a key is incorrect.
3fill in blank
hard

Fix the error in accessing the value for key 'fruit' from the hash map.

DSA Javascript
const value = hashMap[1]'fruit';
Drag options to blanks, or click blank then click option'
A.
B[]
C()
D{}
Attempts:
3 left
💡 Hint
Common Mistakes
Using dot notation with quotes causes syntax error.
Using parentheses or curly braces is invalid syntax.
4fill in blank
hard

Fill both blanks to check if the key 'fruit' exists in the hash map and print the value.

DSA Javascript
if ([1] [2]) {
  console.log(hashMap['fruit']);
}
Drag options to blanks, or click blank then click option'
A'fruit' in
BhashMap
C==
D!==
Attempts:
3 left
💡 Hint
Common Mistakes
Using comparison operators like == or !== instead of 'in'.
Reversing the order of key and object.
5fill in blank
hard

Fill all three blanks to create a hash map from an array of fruits with their counts, only including fruits with count greater than 1.

DSA Javascript
const fruits = ['apple', 'banana', 'apple', 'orange', 'banana', 'banana'];
const fruitCount = {};
for (const [1] of fruits) {
  fruitCount[[2]] = (fruitCount[[3]] || 0) + 1;
}
const result = {};
for (const fruit in fruitCount) {
  if (fruitCount[fruit] > 1) {
    result[fruit] = fruitCount[fruit];
  }
}
Drag options to blanks, or click blank then click option'
Afruit
Dcount
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names inconsistently.
Not initializing counts properly.

Practice

(1/5)
1. Why do we use a hash map in programming?
hashMap = {}
easy
A. To store key-value pairs for fast data lookup
B. To store data in a sorted order automatically
C. To perform mathematical calculations faster
D. To create a list of items without duplicates

Solution

  1. Step 1: Understand the purpose of a hash map

    A hash map stores data as key-value pairs, allowing quick access to values using keys.
  2. Step 2: Compare with other data structures

    Unlike lists or arrays, hash maps provide faster lookup by key, not by position or order.
  3. Final Answer:

    To store key-value pairs for fast data lookup -> Option A
  4. Quick Check:

    Hash map = fast key-value lookup [OK]
Hint: Hash maps store data by keys for quick access [OK]
Common Mistakes:
  • Thinking hash maps sort data automatically
  • Confusing hash maps with arrays or lists
  • Assuming hash maps are for math calculations
2. Which of the following is the correct way to create an empty hash map (object) in JavaScript?
easy
A. const map = []
B. const map = {}
C. const map = () => {}
D. const map = new Map[]

Solution

  1. Step 1: Recall JavaScript syntax for objects

    In JavaScript, curly braces {} create an empty object, which can be used as a hash map.
  2. Step 2: Check other options

    Square brackets [] create arrays, () => {} is a function, and new Map[] is invalid syntax.
  3. Final Answer:

    const map = {} -> Option B
  4. Quick Check:

    Empty object = {} [OK]
Hint: Use curly braces {} to create empty hash maps in JavaScript [OK]
Common Mistakes:
  • Using [] which creates an array, not a hash map
  • Trying to use function syntax for hash map
  • Incorrect new Map[] syntax
3. What will be the output of the following code?
const map = {};
map['apple'] = 5;
map['banana'] = 3;
console.log(map['apple']);
medium
A. 5
B. Error
C. 3
D. undefined

Solution

  1. Step 1: Assign values to keys in the hash map

    The code sets map['apple'] = 5 and map['banana'] = 3, storing these key-value pairs.
  2. Step 2: Access the value for key 'apple'

    console.log(map['apple']) prints the value 5 stored at key 'apple'.
  3. Final Answer:

    5 -> Option A
  4. Quick Check:

    map['apple'] = 5, output = 5 [OK]
Hint: Access value by key to get stored number [OK]
Common Mistakes:
  • Expecting output to be 'undefined' if key exists
  • Confusing values of different keys
  • Thinking it causes an error
4. Find the error in this code that tries to use a hash map:
const map = {};
map.apple = 10;
console.log(map['applee']);
medium
A. Syntax error in object creation
B. Using dot notation instead of brackets
C. Cannot assign values to an empty object
D. Accessing a key that does not exist

Solution

  1. Step 1: Check key assignment

    map.apple = 10 correctly assigns value 10 to key 'apple'.
  2. Step 2: Check key access

    console.log(map['applee']) tries to access key 'applee' which was never assigned, so it returns undefined.
  3. Final Answer:

    Accessing a key that does not exist -> Option D
  4. Quick Check:

    Wrong key access = undefined [OK]
Hint: Check spelling of keys when accessing hash map values [OK]
Common Mistakes:
  • Thinking dot notation is wrong here
  • Expecting error on accessing missing key
  • Assuming empty object cannot store values
5. You want to count how many times each word appears in an array using a hash map. Which approach correctly solves this problem?
const words = ['cat', 'dog', 'cat', 'bird'];
const counts = {};
// Fill counts here
console.log(counts);
hard
A. for (const w of words) { counts[w] = 1; }
B. for (const w of words) { counts[w] = counts[w] + 1; }
C. for (const w of words) { counts[w] = (counts[w] || 0) + 1; }
D. for (const w of words) { counts[w] += 1; }

Solution

  1. Step 1: Understand counting logic

    We need to add 1 to the count for each word. If the word is new, start from 0.
  2. Step 2: Analyze each option

    for (const w of words) { counts[w] = 1; } sets count to 1 always, ignoring repeats. for (const w of words) { counts[w] = counts[w] + 1; } tries to add 1 but counts[w] is undefined initially causing NaN. for (const w of words) { counts[w] = (counts[w] || 0) + 1; } uses (counts[w] || 0) + 1 to handle undefined keys correctly. for (const w of words) { counts[w] += 1; } tries to add 1 without initialization, causing NaN.
  3. Final Answer:

    for (const w of words) { counts[w] = (counts[w] || 0) + 1; } -> Option C
  4. Quick Check:

    Initialize with 0 or use || 0 before adding [OK]
Hint: Use (counts[key] || 0) + 1 to count safely [OK]
Common Mistakes:
  • Not initializing counts before adding
  • Overwriting counts instead of incrementing
  • Assuming counts[w] is always defined
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