Bird
Raised Fist0
Javascriptprogramming~5 mins

Modifying arrays in Javascript

Choose your learning style10 modes available
Introduction

We change arrays to add, remove, or update items. This helps keep our list of things up to date.

You want to add a new friend to your list of friends.
You need to remove a finished task from your to-do list.
You want to change the name of a product in your shopping cart.
You want to insert a new song in your playlist at a specific spot.
You want to clear all items from a list to start fresh.
Syntax
Javascript
const array = [1, 2, 3];

// Add item at the end
array.push(newItem);

// Remove last item
array.pop();

// Add item at the start
array.unshift(newItem);

// Remove first item
array.shift();

// Change item at index
array[index] = newValue;

// Remove item at index
array.splice(index, 1);

// Insert item at index
array.splice(index, 0, newItem);

Array indexes start at 0, so the first item is at index 0.

splice() can add or remove items anywhere in the array.

Examples
Adds 'orange' to the end of the array.
Javascript
const fruits = ['apple', 'banana'];
fruits.push('orange');
console.log(fruits);
Removes the only item, resulting in an empty array.
Javascript
const numbers = [10];
numbers.pop();
console.log(numbers);
Adds 'red' to the start of an empty array.
Javascript
const colors = [];
colors.unshift('red');
console.log(colors);
Replaces the item at index 1 ('b') with 'x'.
Javascript
const letters = ['a', 'b', 'c'];
letters.splice(1, 1, 'x');
console.log(letters);
Sample Program

This program shows adding, removing, changing, and inserting tasks in an array.

Javascript
const tasks = ['wash dishes', 'do laundry', 'buy groceries'];

console.log('Before modification:', tasks);

// Add a new task at the end
const newTask = 'call mom';
tasks.push(newTask);

// Remove the first task
const removedTask = tasks.shift();

// Change the second task
tasks[1] = 'fold clothes';

// Insert a task at index 1
tasks.splice(1, 0, 'clean room');

console.log('After modification:', tasks);
console.log('Removed task:', removedTask);
OutputSuccess
Important Notes

Adding or removing items at the end with push/pop is very fast (constant time).

Using splice to add or remove items in the middle can be slower because items need to move.

Remember array indexes start at 0, so be careful when choosing the index.

Use push/pop for stack-like behavior, shift/unshift for queue-like behavior, and splice for precise control.

Summary

Arrays can be changed by adding, removing, or updating items.

Use push/pop for the end, unshift/shift for the start, and splice for anywhere.

Always check your indexes to avoid errors.

Practice

(1/5)
1. Which method adds one or more elements to the end of a JavaScript array?
easy
A. push()
B. pop()
C. shift()
D. unshift()

Solution

  1. Step 1: Understand array methods for adding elements

    push() adds elements to the end, unshift() adds to the start.
  2. Step 2: Identify the method that adds to the end

    push() is the method that adds elements at the end of the array.
  3. Final Answer:

    push() -> Option A
  4. Quick Check:

    Adding at end = push() [OK]
Hint: push() adds at end, unshift() adds at start [OK]
Common Mistakes:
  • Confusing push() with pop()
  • Using shift() to add elements
  • Thinking unshift() adds at end
2. Which of the following is the correct syntax to remove the first element from an array arr?
easy
A. arr.pop()
B. arr.shift()
C. arr.unshift()
D. arr.push()

Solution

  1. Step 1: Recall methods that remove elements

    pop() removes from end, shift() removes from start.
  2. Step 2: Identify method to remove first element

    shift() removes the first element of the array.
  3. Final Answer:

    arr.shift() -> Option B
  4. Quick Check:

    Remove first element = shift() [OK]
Hint: shift() removes first, pop() removes last [OK]
Common Mistakes:
  • Using pop() to remove first element
  • Using unshift() which adds elements
  • Confusing push() with removal methods
3. What will be the output of the following code?
let arr = [1, 2, 3, 4];
arr.splice(1, 2, 8, 9);
console.log(arr);
medium
A. [1, 8, 9, 4]
B. [1, 2, 3, 4]
C. [8, 9, 4]
D. [1, 8, 9]

Solution

  1. Step 1: Understand splice parameters

    splice(1, 2, 8, 9) means start at index 1, remove 2 elements, then insert 8 and 9.
  2. Step 2: Apply splice on array

    Original array: [1, 2, 3, 4]. Remove elements at index 1 and 2 (2 and 3), then insert 8 and 9 at index 1. Result: [1, 8, 9, 4].
  3. Final Answer:

    [1, 8, 9, 4] -> Option A
  4. Quick Check:

    splice removes and inserts = [1, 8, 9, 4] [OK]
Hint: splice(start, deleteCount, items...) edits array in place [OK]
Common Mistakes:
  • Confusing splice with slice
  • Not removing correct elements
  • Forgetting splice inserts new items
4. The following code tries to remove the element '3' from the array but does not work as expected. What is the error?
let arr = [1, 2, 3, 4];
arr.splice(3, 1);
console.log(arr);
medium
A. The index 3 is out of range for removal
B. The splice method is used incorrectly; it should be pop()
C. The index 3 removes the wrong element, should be 2
D. splice cannot remove elements from arrays

Solution

  1. Step 1: Identify the element to remove and its index

    The element '3' is at index 2 in the array [1, 2, 3, 4].
  2. Step 2: Check the splice call

    The code calls arr.splice(3, 1), which removes the element at index 3 (which is 4), not 3.
  3. Final Answer:

    The index 3 removes the wrong element, should be 2 -> Option C
  4. Quick Check:

    Remove '3' at index 2, not 3 [OK]
Hint: Check array indexes carefully before splice [OK]
Common Mistakes:
  • Using wrong index for splice
  • Confusing pop() with splice()
  • Thinking splice can't remove elements
5. You have an array arr = [5, 10, 15, 20]. You want to replace the middle two elements with 12 and 18 using a single method call. Which code correctly does this?
hard
A. arr.splice(2, 2, 12, 18);
B. arr.splice(0, 2, 12, 18);
C. arr.splice(1, 1, 12, 18);
D. arr.splice(1, 2, 12, 18);

Solution

  1. Step 1: Identify indexes of middle two elements

    Array is [5, 10, 15, 20]. Middle two elements are at indexes 1 and 2 (10 and 15).
  2. Step 2: Use splice to replace these elements

    Call arr.splice(1, 2, 12, 18) to start at index 1, remove 2 elements, and insert 12 and 18.
  3. Final Answer:

    arr.splice(1, 2, 12, 18); -> Option D
  4. Quick Check:

    Replace middle two with splice(1,2,12,18) [OK]
Hint: splice(startIndex, countToRemove, ...newItems) replaces items [OK]
Common Mistakes:
  • Wrong start index
  • Removing too few or too many elements
  • Using splice with wrong parameters
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