Friday, September 27, 2024
Google search engine
HomeLanguagesJavascriptFastest way to duplicate an array in JavaScript

Fastest way to duplicate an array in JavaScript

There are multiple methods that can be used to duplicate an array in JavaScript.The fastest way to duplicate an array in JavaScript is by using 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()

slice() method: 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)

Implementation of the above approach is shown below

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()

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)

Implementation of the above approach is shown below

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:Spread Operator

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:

var variablename1 = [...value]; 

Implementation of the above approach is shown below

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(JSON.stringify(arr))

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);

Implementation of the above approach is shown below

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 ]

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.

RELATED ARTICLES

Most Popular

Recent Comments