In JavaScript,
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.slice();
arr2
will not change if arr
values are changed. That is, arr[0] = 0;
, still arr2[0] == 1; // true
.
Consider this:
var obj = {name: 'John', company: 'XYZ'};
var obj2 = obj; // Creates a duplicate of obj
But obj.name = 'Dave'
, makes obj2.name = 'Dave'
as well.
How can we do a slice()
operation for objects?