In JavaScript, working with arrays is a fundamental task for every developer. Understand the differences between JavaScript slice vs splice. Array manipulation methods are often used to extract or modify array elements.

What is slice()?

The slice() method in JavaScript is used to create a new array by extracting a portion of an existing array. This method does not modify the original array but returns a new array containing the selected elements.

The syntax of slice() is as follows:

array.slice(start, end)
  • array: The original array you want to extract elements from.
  • start: The index at which to begin extraction (inclusive).
  • end: The index before which to stop extraction (exclusive).

Example of JavaScript Slice method-

Let’s look at a simple example of using slice():

const originalArray = [1, 2, 3, 4, 5];
const newArray = originalArray.slice(1, 4);

console.log(newArray); // Output: [2, 3, 4]

In this example, slice(1, 4) extracts elements starting from index 1 (inclusive) to index 4 (exclusive).

2. What is splice()?

The splice() method, on the other hand, is used to modify an array by adding or removing elements at specific positions. Unlike slice(), it directly modifies the original array.

The syntax of splice() is as follows:

array.splice(start, deleteCount, item1, item2, ...)
  • array: The original array is to be modified.
  • start: The index at which to start changing the array.
  • deleteCount: The number of elements to remove from the array.
  • item1, item2, ...: The elements to be added to the array.

Here’s an example of using splice():

const originalArray = [1, 2, 3, 4, 5];
originalArray.splice(1, 2, 6, 7);

console.log(originalArray); // Output: [1, 6, 7, 4, 5]

In this example, we used splice(1, 2, 6, 7) to remove two elements starting from index 1 and replace them with 6 and 7.

Difference between slice and splice in JavaScript

Let’s compare and contrast slice() vs splice in terms of several aspects:

Purpose slice vs splice

  • slice(): Used to create a new array with a portion of the original.
  • splice(): Used to modify the original array by adding or removing elements.

Syntax slice vs splice

  • slice(): Takes two arguments (start and end) for extraction.
  • splice(): Takes three or more arguments (start, deleteCount, and optional items) for modification.

Modifying the Original Array slice vs splice

  • slice(): Does not modify the original array.
  • splice(): Directly modifies the original array.

Return Value of slice vs splice

  • slice(): Returns a new array containing the selected elements.
  • splice(): Returns an array of removed elements.

4. Common Use Cases of  JS slice and  splice

Understanding the differences between slice() and splice() is crucial for choosing the right method for specific scenarios.

When to Use slice()

  • When you need a new array containing a subset of elements.
  • Creating a copy of an array without modifying the original.
  • Implementing pagination by selecting a range of items from an array.

Example when to use slice method JavaScript-

const page1 = originalArray.slice(0, 10); // Get the first 10 items.

When to Use splice()

  • When you want to modify the original array.
  • Adding or removing elements at specific positions.
  • Implementing features like a to-do list with add and remove functionality.

Example of when to use JavaScript splice-

originalArray.splice(2, 0, 'newItem'); // Add 'newItem' at index 2.

Best Practices when working with slice and splice method

Here are some best practices when working with slice() and splice():

  • Always store the result of these methods in a new variable if you need the original array intact.
  • Pay attention to the indexes when using these methods to avoid off-by-one errors.
  • Understand the impact of modifying the original array when using splice().

Performance Considerations of slice vs splice

Performance can be a critical factor when choosing between slice() and splice().

  • slice() is generally more efficient since it doesn’t modify the original array.
  • splice() can be slower, especially when removing elements, as it shifts the array of elements.

Consider the size of your data and performance requirements when selecting a method.

Code Examples of slice and splice

To reinforce your understanding of slice() and splice(), here are some practical code examples that demonstrate their usage in different scenarios:

Example 1: Using slice()

const array = [1, 2, 3, 4, 5];
const subset = array.slice(1, 4);
console.log(subset); // Output: [2, 3, 4]

Example 2: Using splice()

const array = [1, 2, 3, 4, 5];
array.splice(1, 2, 6, 7);
console.log(array); // Output: [1, 6, 7, 4, 5]


In this tutorial, we’ve explored the differences between slice() and splice() in JavaScript. These array methods serve distinct purposes and understanding when to use each is essential for effective array manipulation.

By following best practices and considering performance, you can use these methods confidently in your JavaScript projects. Experiment with code examples to solidify your knowledge, and make informed choices based on your specific project requirements.