InterviewHubPRO
Section Overview
Q10

Question 10 of 521

Part 1: Core Objects, Prototypes, Functions & Scope (1 - 53)

2%
JavaScript Internals (521 Qs)•Part 1: Core Objects, Prototypes, Functions & Scope (1 - 53)

What is the difference between slice and splice

Here are the key differences between slice() and splice() methods in JavaScript arrays:

slice()splice()
Does not modify the original array (immutable)Modifies the original array (mutable)
Returns a shallow copy (subset) of selected elementsReturns an array of the removed elements
Used to extract elements from an arrayUsed to add, remove, or replace elements in an array
Syntax: array.slice(start, end)Syntax: array.splice(start, deleteCount, ...items)

Summary:

  • Use slice() when you want to copy or extract elements without altering the original array.
  • Use splice() when you need to add, remove, or replace elements and want to change the original array.

Practical Code Example

javascript
// slice(): Non-mutating (returns shallow copy of portion)
const original = ['a', 'b', 'c', 'd', 'e'];
const sliced = original.slice(1, 4);
console.log(sliced);   // ['b', 'c', 'd']
console.log(original); // ['a', 'b', 'c', 'd', 'e'] (unchanged)

// splice(): Mutating (adds/removes elements in place)
const fruits = ['apple', 'banana', 'cherry', 'date'];
const removed = fruits.splice(1, 2, 'blueberry', 'mango');
console.log(removed); // ['banana', 'cherry']
console.log(fruits);  // ['apple', 'blueberry', 'mango', 'date'] (mutated!)