# Basic Algorithm Scripting - Slice and Splice

Hello all,

I am working through the Splice and Slice problem and I wonder if someone could explain this. It feels like a quirk of some kind. In particular, I refer to the line: arr3.splice(n, 0, …arr1);

Why does the contents of arr2 change after this line?

Code so far:

``````function frankenSplice(arr1, arr2, n) {
console.log("arr1 = " + arr1);
console.log("arr2 = " + arr2);
let arr3 = arr2;

/*splice arr1 into arr3 */
console.log("arr2 before = " + arr2);
arr3.splice(n, 0, ...arr1); /*<------------???*/
console.log("arr2 after = " + arr2);

console.log("-->" + arr3);
console.log("");
return arr3;
}
``````

The console outputs:
arr2 before = 4,5
arr2 after = 4,1,2,3

### Challenge Information:

Basic Algorithm Scripting - Slice and Splice

``````let arr3 = arr2;
``````

This line doesn’t create new array, but just creates another name (`arr3`), that’s pointing to the same array as `arr2`.

It might appear that changing one changes also the another, however that’s the single array, with two variables pointing to it.

Thank you very much for the reply! I’ll look into this more and keep it in mind in future.

Welcome to the community and thank you for posting both the code and the problem.

Good that you figured it out on our own.