Open In App

Fastest way to duplicate an array in JavaScript

Last Updated : 16 Jan, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Multiple methods can be used to duplicate an array in JavaScript.The fastest way to duplicate an array in JavaScript is by using the slice() Method. Let us discuss some methods and then compare the speed of execution. 

The methods to copy an array are:

Method 1: Using slice()

The slice() method is a built-in JavaScript method that creates a new array with the same elements as the original array. It does not modify the original array. It is considered one of the fastest methods as it directly returns a shallow copy of the original array.

Syntax:

arr.slice(begin, end);

Example: In this example, we have used slice() method

Javascript




let originalArray = [1, 2, 3, 4, 5];
let duplicateArray = originalArray.slice();
let arr = [1, 2, 3, 4, 5];
console.log("Duplicate array is:")
console.log(duplicateArray);


Output

Duplicate array is:
[ 1, 2, 3, 4, 5 ]

Method 2: Using concat() method

The concat() method creates a new array by concatenating the original array with an empty array. It does not modify the original array. It is considered a bit slower than slice method as it creates a new array and concatenates it with the original array.

Syntax:

str.concat(string2, string3, string4,......, stringN);

Example: In this example, we have used concat() method

Javascript




let originalArray = [1, 2, 3, 4, 5];
let duplicateArray = [].concat(originalArray);
console.log("Duplicate array is:")
console.log(duplicateArray);


Output

Duplicate array is:
[ 1, 2, 3, 4, 5 ]

Method 3: Using Spread operator

The spread operator creates a new array with the same elements as the original array. It does not modify the original array. It is considered as fast as the slice method as it directly creates a new array with the spread of the original array.

Syntax:

let variablename1 = [...value]; 

Example: In this example, we have used Spread operator

Javascript




let originalArray = [1, 2, 3, 4, 5];
let duplicateArray = [...originalArray];
console.log("Duplicate array is:")
console.log(duplicateArray);


Output

Duplicate array is:
[ 1, 2, 3, 4, 5 ]

Method 4:Using JSON.parse() and JSON.stringify()

This method creates a new array by passing the original array to JSON.stringify() method and passing the result to JSON.parse() method. It is considered one of the slowest method as it uses two methods and also it can only be used with JSON string.

Syntax:

JSON.parse( string, function )
JSON.stringify(value, replacer, space);

Example: In this example, we have used JSON.parse() and JSON.stringify()

Javascript




let originalArray = [1, 2, 3, 4, 5];
let duplicateArray = JSON.parse(JSON.stringify(originalArray));
console.log("Duplicate array is:")
console.log(duplicateArray);


Output

Duplicate array is:
[ 1, 2, 3, 4, 5 ]

Method 5: Using for loop

JavaScript for loop is used to iterate the elements for a fixed number of times. JavaScript for loop is used if the number of the iteration is known.

Syntax:

for (statement 1 ; statement 2 ; statement 3){
code here...
}

Example: In this example, This duplicateArray function uses a for loop to iterate over the elements of the original array and copies them to a new array. This method is straightforward and will create a shallow copy of the array.

Javascript




function duplicateArray(arr) {
  let duplicate = [];
  for (let i = 0; i < arr.length; i++) {
    duplicate[i] = arr[i];
  }
  return duplicate;
}
 
// Example usage:
let originalArray = [1, 2, 3, 4, 5];
let newArray = duplicateArray(originalArray);
console.log(newArray);


Output

[ 1, 2, 3, 4, 5 ]

Conclusion:

  • In conclusion, the fastest way to duplicate an array in JavaScript are using the slice() method and the spread operator, because they directly return a new array with the same elements as the original array, without any additional steps. They are considered as the most efficient way to duplicate an array.
  • The second fastest method is Array.from(), which creates a new array with the same elements as the original array, but it’s a little bit slower than the slice() and the spread operator.
  • The concat() method and the for of loop are considered a bit slower than the previous methods because they iterate over the original array and add each element to a new array.
  • The map() method is also considered a bit slower than the previous methods because it iterates over the original array and applies a function to each element.
  • The slowest method is JSON.parse() and JSON.stringify(), it’s considered one of the slowest method because it uses two methods and also it can only be used with JSON string, which may cause additional time and memory overhead.


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads