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)
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 ]
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 ]
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]
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]
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 ]
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]
Top comments (0)