DEV Community

Cover image for Array.slice() - for slicing an array
Dillion Megida
Dillion Megida

Posted on • Edited on

3 3

Array.slice() - for slicing an array

This article is the fifth of the Array Method Series. In this article, I will explain what the slice Array method is.

What is the Slice Method?

The slice method of arrays returns a specified section of an array--a slice of the array.

This method does not modify the original array. It returns a sliced copy as a new array.

Syntax of the Slice Method

array.slice(start, end)
Enter fullscreen mode Exit fullscreen mode

The start argument specifies the index that the slicing starts from.

The end argument specifies the index that the slicing stops, but the item at this index is not returned.

If the end argument is not provided, the slice method slices from the start to the end of the array.

If both arguments are not provided, the slice method starts from the 0 index and slices to the end--basically a copy of the whole array.

Without the Slice Method

The slice method is an abstracted function that returns a section of an array cut at one or two places. Here's an example showing how you can slice an array without this method:

const array = [0, 1, 2, 3, 4, 5, 6, 7, 8]

const START_INDEX = 2

const END_INDEX = 7

const newArray = []

for (let i = START_INDEX; i < END_INDEX; i++) {
  const item = array[i]
  newArray.push(item)
}

console.log(newArray)
// [ 2, 3, 4, 5, 6 ]
Enter fullscreen mode Exit fullscreen mode

The for loop starts from the START_INDEX and ends one index short of the END_INDEX.

With the Slice Method

Here's how you achieve the previous result with slice:

const array = [0, 1, 2, 3, 4, 5, 6, 7, 8]

const newArray = array.slice(2,7)

console.log(newArray)
// [ 2, 3, 4, 5, 6 ]
Enter fullscreen mode Exit fullscreen mode

Without an end argument

The end will be the rest of the array:

const array = [0, 1, 2, 3, 4, 5, 6, 7, 8]

const newArray = array.slice(2)

console.log(newArray)
// [2, 3, 4, 5, 6, 7, 8]
Enter fullscreen mode Exit fullscreen mode

Without both arguments

The start would be 0 by default, and the end would be the rest of the array:

const array = [0, 1, 2, 3, 4, 5, 6, 7, 8]

const newArray = array.slice()

console.log(newArray)
// [0, 1, 2, 3, 4, 5, 6, 7, 8]
Enter fullscreen mode Exit fullscreen mode

With negative arguments

const array = [0, 1, 2, 3, 4, 5, 6, 7, 8]

const newArray = array.slice(-3, -1)

console.log(newArray)
// [ 6, 7 ]
Enter fullscreen mode Exit fullscreen mode

Negative arguments count backward such that -1 is 8, -2 is 7, and -3 is 6.

For -3 and -1, the slice takes a cut from 6 to 8 but without 8, thereby resulting in [6,7]

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more