slice and splice are not needed to solve this challenge, though they do make it simpler.
You can create an empty array to represent the final array. Next, iterate up to (not including) arr2's index that is equal to n and push each of those elements into the final array. Then, you would iterate through all of arr1's elements and push them to the final array. Finally, you would start at the index equal to n of arr2 and go to the end of arr2 and push all of those elements into the final array.
This allows you to achieve the desired final array without mutating the original input arrays.
The first array should remain the same after the function runs.
The second array should remain the same after the function runs.
What happens to arr2 in the closing lines of your code?
And yes, I also did this without splice and slice, but having subsequently looked at the suggested answers after completing it, its worth spending a few mins looking back at them for future use