Reference Materials
Certification Courses
Created with over a decade of experience and thousands of feedback.
Javascript Array copyWithin()
In this tutorial, you will learn about the JavaScript Array copyWithin() method with the help of examples.
The copyWithin() method copies array elements from one position to another in the given array.
Example
let words = ["apple", "ball", "cat", "dog"];
// copies element from index 0 to index 3
words.copyWithin(3, 0);
// modifies the original array
console.log(words);
// Output:
// [ ''apple'', ''ball'', ''cat'', ''apple'' ]
copyWithin() Syntax
The syntax of the copyWithin() method is:
arr.copyWithin(target, start, end)
Here, arr is an array.
copyWithin() Parameters
The copyWithin() method can take three parameters:
- target - The index position to copy the elements to.
- start (optional) - The index position to start copying elements from. If omitted, it will copy from index 0.
- end (optional) - The index position to stop copying elements from (end element not included). If omitted, it will copy until the last index.
Notes:
- If any of the arguments are negative, the index will be counted backward. For example, -1 represents the last element, and so on.
copyWithin() Return Value
- Returns the modified array after copying the elements.
Notes: The copyWithin() method:
- overwrites the original array.
- does not change the length of the original array.
Example 1: Using copyWithin() Method
let numbers = [1, 2, 3, 4, 5];
// copying element located at 4th index to 0th index
numbers.copyWithin(0, 4);
// modifies the original array
console.log(numbers); // [ 5, 6, 3, 4, 5 ]
let letters = ["a", "b", "c", "d"];
// copying element located at 1st index to 2nd index
letters.copyWithin(2, 1);
// modifies the original array
console.log(letters); // [ 'a', 'b', 'b', 'c' ]
Output
[ 5, 2, 3, 4, 5 ] [ 'a', 'b', 'b', 'c' ]
In the above example, we have used the copyWithin() method to copy the element from one index to another in the arrays- numbers and letters.
numbers.copyWithin(0, 4) copies element located at start i.e. index 4 to target i.e. index 0 and letters.copyWithin(2, 1) copies element from index 1 to index 2.
Example 2: copyWithin() with Three Parameters
let laptops = ["dell", "hp", "acer", "asus"];
// copying elements from index 2 to 4(excluding 4) to index 0
laptops.copyWithin(0, 2, 4);
// modifies the original array
console.log(laptops); // [ 'acer', 'asus', 'acer', 'asus' ]
Output
[ 'acer', 'asus', 'acer', 'asus' ]
In the above example, we have passed three parameters- target, start, and end in the copyWithin method.
laptops.copyWithin(0, 2, 4) copies elements from index 2 to 4 (not including index 4) to index 0 and modifies the laptops array to [ 'acer', 'asus', 'acer', 'asus' ].
Example 3: copyWithin() with Negative Parameter
let evenNumbers= [2,4,6,8];
// passing negative index value -1 as target index
evenNumbers.copyWithin(-1);
console.log(evenNumbers);
Output
[ 2, 4, 6, 2 ]
Here we have passed a negative index value -1 as the value for target in the copyWithin() method.
Since the passed argument is negative, the method counts the index backward so the target index is the last index.
evenNumbers.copyWithin(-1) copies the element at index 0(default start value) to last index.