The slice()
method in JavaScript returns a shallow copy of an array’s selected portion. It saves this copied portion into a new array but does not modify the original array.
array.slice(start, end)
The slice()
method takes the following parameters:
start
(optional): The starting index of the copied array.
- If not supplied, it starts from index
0
.- If negative, it indicates an offset from the end of the sequence. For example,
slice(-2)
extracts the last two elements in the sequence.- If
start
is greater than the index range of the sequence, an empty array is returned.
end
(optional) : The ending index of the copied array. This index is non-inclusive.
- If not supplied, it extracts to the end of the sequence.
- If negative, it extracts until the end of the sequence. For example,
slice(1,-1)
extracts the first element through the second-to-last element in the sequence.- If
end
is greater than the sequence length, slice extracts through to the end of the sequence.
The function returns a new array containing the copied values.
const countries = ['USA', 'NIGERIA', 'GHANA', 'GERMANY', 'CHINA'];console.log(countries.slice(0));// expected output: Array ['USA', 'NIGERIA', 'GHANA', 'GERMANY', 'CHINA']console.log(countries.slice(1, 4));// expected output: Array ['NIGERIA','GHANA', 'GERMANY']console.log(countries.slice(2, 4));// expected output: Array ['GHANA', 'GERMANY']console.log(countries.slice(-3));// expected output: Array ['GHANA', 'GERMANY', 'CHINA]console.log(countries.slice(1, -1));// expected output: Array ['NIGERIA', 'GHANA', 'GERMANY']
In the code above we have five examples, each using different approaches. As we can see, calling the slice()
method on an array and printing its value returns a new array following the condition we specified.