Slice And Splice In Javascript Mdn

Slice And Splice In Javascript Mdn

4 min read Jun 20, 2024
Slice And Splice In Javascript Mdn

Slice and Splice in JavaScript: A Comprehensive Guide

This article will explore two powerful methods in JavaScript for manipulating arrays: slice and splice. Understanding these methods is crucial for efficiently managing data structures in your JavaScript applications.

Slice: Extracting a Portion of an Array

slice() is a non-destructive method that returns a new array containing a portion of the original array. It allows you to extract a subset of elements without modifying the original array.


array.slice(start, end);


  • start: The starting index of the slice (inclusive). If omitted, it defaults to 0.
  • end: The ending index of the slice (exclusive). If omitted, it defaults to the length of the array.


const fruits = ["apple", "banana", "cherry", "orange", "grape"];

// Extract elements from index 1 to 3 (exclusive)
const slicedFruits = fruits.slice(1, 3);
console.log(slicedFruits); // ["banana", "cherry"]

// Extract elements from index 2 to the end
const slicedFruits2 = fruits.slice(2);
console.log(slicedFruits2); // ["cherry", "orange", "grape"]

// Create a copy of the entire array
const copiedFruits = fruits.slice();
console.log(copiedFruits); // ["apple", "banana", "cherry", "orange", "grape"]

Splice: Modifying an Array In-Place

splice() is a destructive method that modifies the original array by adding or removing elements at a specified index. It returns an array containing the removed elements.


array.splice(start, deleteCount, ...items);


  • start: The starting index of the modification.
  • deleteCount: The number of elements to be removed. If omitted, it defaults to the length of the array from the starting index.
  • ...items: The new elements to be added at the specified index.


const vegetables = ["carrot", "broccoli", "tomato"];

// Remove the element at index 1
const removedVegetable = vegetables.splice(1, 1);
console.log(vegetables); // ["carrot", "tomato"]
console.log(removedVegetable); // ["broccoli"]

// Remove two elements starting from index 0
const removedVegetables2 = vegetables.splice(0, 2);
console.log(vegetables); // ["tomato"]
console.log(removedVegetables2); // ["carrot", "broccoli"]

// Add two new elements at index 1
vegetables.splice(1, 0, "potato", "onion");
console.log(vegetables); // ["tomato", "potato", "onion"]

Key Differences:

  • Slice is non-destructive and returns a new array, while splice modifies the original array in-place and returns an array of removed elements.
  • Slice extracts a portion of the array, while splice adds or removes elements at a specific index.


Understanding slice and splice is essential for effectively working with arrays in JavaScript. They provide powerful tools for extracting data, modifying arrays in-place, and efficiently managing data structures within your applications. Choose the appropriate method based on your specific needs and desired outcome.