Bird
Raised Fist0
Javascriptprogramming~10 mins

Map method in Javascript - Interactive Code Practice

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

Complete the code to create a new array with each number doubled using the map method.

Javascript
const numbers = [1, 2, 3];
const doubled = numbers.[1](num => num * 2);
console.log(doubled);
Drag options to blanks, or click blank then click option'
Afilter
Bmap
CforEach
Dreduce
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using forEach instead of map, which does not return a new array.
Using filter, which only selects elements but does not transform them.
2fill in blank
medium

Complete the code to convert all names in the array to uppercase using map.

Javascript
const names = ['alice', 'bob', 'carol'];
const upperNames = names.[1](name => name.toUpperCase());
console.log(upperNames);
Drag options to blanks, or click blank then click option'
Afilter
Bsort
Cmap
Dslice
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using filter which removes elements instead of transforming them.
Using sort which changes order but not content.
3fill in blank
hard

Fix the error in the code to correctly double each number using map.

Javascript
const nums = [4, 5, 6];
const doubled = nums.map(num => num [1] 2);
console.log(doubled);
Drag options to blanks, or click blank then click option'
A*
B/
C-
D+
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using + which adds instead of multiplies.
Using - or / which do not double the number.
4fill in blank
hard

Fill both blanks to create an array of squares of even numbers only.

Javascript
const nums = [1, 2, 3, 4, 5];
const squares = nums.filter(n => n [1] 2 === 0).[2](n => n * n);
console.log(squares);
Drag options to blanks, or click blank then click option'
A%
Bmap
Cfilter
D+
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using + instead of % for checking even numbers.
Using filter instead of map to square numbers.
5fill in blank
hard

Fill all three blanks to create an array of uppercase names longer than 3 letters.

Javascript
const names = ['Ann', 'Beth', 'Cara', 'Dan'];
const result = names.[1](name => name.[2]()).[3](name => name.length > 3);
console.log(result);
Drag options to blanks, or click blank then click option'
Amap
BtoUpperCase
Cfilter
DtoLowerCase
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using toLowerCase instead of toUpperCase.
Using filter before map, which would filter original names.

Practice

(1/5)
1.

What does the map method do in JavaScript?

easy
A. Sorts the elements of the array in place.
B. Changes the original array by removing elements.
C. Creates a new array by applying a function to each element of the original array.
D. Filters elements from the array based on a condition.

Solution

  1. Step 1: Understand the purpose of map

    The map method applies a function to each element and creates a new array with the results.
  2. Step 2: Compare with other array methods

    Unlike filter or sort, map does not remove or reorder elements but transforms them.
  3. Final Answer:

    Creates a new array by applying a function to each element of the original array. -> Option C
  4. Quick Check:

    map creates new transformed array = A [OK]
Hint: Map always returns a new array with transformed items [OK]
Common Mistakes:
  • Thinking map changes the original array
  • Confusing map with filter or sort
  • Believing map removes elements
2.

Which of the following is the correct syntax to double each number in the array nums using map?

const nums = [1, 2, 3];
easy
A. const doubled = nums.map(x => x * 2);
B. const doubled = nums.map(x * 2);
C. const doubled = nums.map(x => { x * 2 });
D. const doubled = nums.map(x => return x * 2);

Solution

  1. Step 1: Check arrow function syntax inside map

    The function must be x => x * 2 to return the doubled value directly.
  2. Step 2: Identify syntax errors in other options

    const doubled = nums.map(x * 2); misses the arrow function syntax. const doubled = nums.map(x => { x * 2 }); uses braces but no return statement, so returns undefined. const doubled = nums.map(x => return x * 2); incorrectly uses return without braces.
  3. Final Answer:

    const doubled = nums.map(x => x * 2); -> Option A
  4. Quick Check:

    Correct arrow function syntax = B [OK]
Hint: Use arrow function with implicit return inside map [OK]
Common Mistakes:
  • Missing arrow (=>) in the function
  • Using braces without return statement
  • Incorrect return syntax inside arrow function
3.

What is the output of the following code?

const arr = [1, 2, 3];
const result = arr.map(x => x + 1);
console.log(result);
medium
A. [1, 2, 3]
B. [2, 3, 4]
C. [1, 3, 5]
D. Error

Solution

  1. Step 1: Understand the map function applied

    Each element x in arr is increased by 1, so 1 becomes 2, 2 becomes 3, and 3 becomes 4.
  2. Step 2: Check the output array

    The new array is [2, 3, 4], which is logged to the console.
  3. Final Answer:

    [2, 3, 4] -> Option B
  4. Quick Check:

    Each element +1 = [2, 3, 4] [OK]
Hint: Add 1 to each element inside map to get output [OK]
Common Mistakes:
  • Thinking original array changes
  • Confusing output with original array
  • Expecting error due to syntax
4.

Find the error in this code snippet:

const numbers = [1, 2, 3];
const newNumbers = numbers.map(num => { num * 3 });
console.log(newNumbers);
medium
A. The arrow function syntax is incorrect.
B. The array numbers is not defined.
C. map method cannot be used on arrays.
D. Missing return statement inside the arrow function block.

Solution

  1. Step 1: Analyze arrow function with braces

    When using braces in arrow functions, an explicit return is needed to return a value.
  2. Step 2: Identify missing return

    The function body { num * 3 } does not return anything, so newNumbers will be an array of undefined.
  3. Final Answer:

    Missing return statement inside the arrow function block. -> Option D
  4. Quick Check:

    Arrow function with braces needs return [OK]
Hint: Add return inside braces or remove braces for implicit return [OK]
Common Mistakes:
  • Forgetting return inside arrow function with braces
  • Thinking map changes original array
  • Assuming map works only with simple functions
5.

You have an array of objects representing people:

const people = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 },
  { name: 'Carol', age: 35 }
];

// Use map to create an array of greetings like "Hello, Alice!"

Which code correctly creates this greetings array?

hard
A. const greetings = people.map(person => `Hello, ${person.name}!`);
B. const greetings = people.map(person => { `Hello, ${person.name}!` });
C. const greetings = people.map(person => { return `Hello, ${person.age}!` });
D. const greetings = people.map(person => person.name + 'Hello!');

Solution

  1. Step 1: Use map to transform each object to a greeting string

    The function should return a string like "Hello, Alice!" using template literals.
  2. Step 2: Check arrow function syntax for returning string

    const greetings = people.map(person => `Hello, ${person.name}!`); uses implicit return with template literal correctly. const greetings = people.map(person => { `Hello, ${person.name}!` }); misses return inside braces. const greetings = people.map(person => { return `Hello, ${person.age}!` }); incorrectly uses age instead of name. const greetings = people.map(person => person.name + 'Hello!'); concatenates incorrectly.
  3. Final Answer:

    const greetings = people.map(person => `Hello, ${person.name}!`); -> Option A
  4. Quick Check:

    Implicit return with template literal = C [OK]
Hint: Use template literals with implicit return in map [OK]
Common Mistakes:
  • Missing return inside braces
  • Incorrect string concatenation
  • Confusing implicit and explicit return
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