There are several ways to copy an array in JavaScript:

  • Using the spread operator (…): This creates a new array with the elements of the original array. Example: let newArray = […originalArray];
  • Using the slice method: This creates a new array with the elements of the original array. Example: let newArray = originalArray.slice();
  • Using the Array.from() method: This creates a new array with the elements of the original array. Example: let newArray = Array.from(originalArray);
  • Using the concat() method: This creates a new array with the elements of the original array. Example: let newArray = [].concat(originalArray);
  • Using the map() method: This creates a new array with the elements of the original array. Example: let newArray = originalArray.map(x => x);

Please note that, all the above methods will copy the array as shallow copy, which means if the array has any object or array as element, the reference of that object will be shared across the both arrays.

Here are some examples of copying an array in JavaScript using the different methods I mentioned earlier:

Using the spread operator:

let originalArray = [1, 2, 3, 4, 5];
let newArray = [...originalArray];
console.log(newArray); // [1, 2, 3, 4, 5]

Using the slice method:

let originalArray = [1, 2, 3, 4, 5];
let newArray = originalArray.slice();
console.log(newArray); // [1, 2, 3, 4, 5]

Using the Array.from() method:

let originalArray = [1, 2, 3, 4, 5];
let newArray = Array.from(originalArray);
console.log(newArray); // [1, 2, 3, 4, 5]

Using the concat() method:

let originalArray = [1, 2, 3, 4, 5];
let newArray = [].concat(originalArray);
console.log(newArray); // [1, 2, 3, 4, 5]

Using the map() method:

let originalArray = [1, 2, 3, 4, 5];
let newArray = originalArray.map(x => x);
console.log(newArray); // [1, 2, 3, 4, 5]

For deep copy you can use JSON.parse(JSON.stringify(originalArray))

let originalArray = [1, 2, {a:1, b:2}];
let newArray = JSON.parse(JSON.stringify(originalArray));
console.log(newArray); 

Please let me know if you have any question or need more examples.

Also Read:

Categorized in: